That's basically what linux `mv` does too. It both moves files to new directories and renames files.
mkdir some_dir mv file.txt some_dir # Put file.txt into the directory
mv other_file.txt new_name.txt # rename other_file.txt to new_name.txt
mkdir some_dir mv file.txt some_dir # Put file.txt into the directory
mv other_file.txt new_name.txt # rename other_file.txt to new_name.txt
$ touch a b c
$ mv a b c
mv: target 'c': Not a directory mv file ../folder
where folder is not a folder (non-exist, or is a file).And Linux will happily do this too.
$ mkdir -p /tmp/x/y/z
$ cd /tmp/x/y/z
$ touch a b c
$ mv a b c ../notexist
mv: target '../notexist': No such file or directory$ echo $?
0
> When Gemini executed move * "..\anuraag_xyz project", the wildcard was expanded and each file was individually "moved" (renamed) to anuraag_xyz project within the original directory.
> Each subsequent move overwrited the previous one, leaving only the last moved item
In a different scenario where there was only one file, the command would have moved only that one file, and no data would have been lost.