

I just tried your use case, and it did move the files to the correct folder.
using zsh:
user@computer ~ touch test.jpg
user@computer ~ touch test2.jpg
user@computer ~ mv test.jpg ./Public
user@computer ~ mv test2.jpg $_
user@computer ~ ls ./Public
test2.jpg test.jpg
user@computer ~
using bash:
[user@computer Public]$ mkdir test
[user@computer Public]$ ls
test test2.jpg test.jpg
[user@computer Public]$ mv test.jpg ./test
[user@computer Public]$ mv test2.jpg $_
[user@computer Public]$ ls
test
[user@computer Public]$ ls test/
test2.jpg test.jpg
[user@computer Public]$
using bash and full path:
[user@computer Public]$ ls
test test2.jpg test.jpg
[user@computer Public]$ mv test.jpg /home/user/Public/test
[user@computer Public]$ mv test2.jpg $_
[user@computer Public]$ ls
test
[user@computer Public]$ ls test/
test2.jpg test.jpg
[user@computer Public]$
What shell are you using? You can check it by using echo $0.
user@computer ~ echo $0
/usr/bin/zsh
[user@computer ~]$ echo $0
/bin/bash
I can’t reproduce it, even when putting the directory path in quotes, it still simply moved the file.



Backup backup backup
You spent time setting it up, now keep that time investment safe.
Create a disk image at least once and keep a more regular copy of your important files.