Windows批量移动文件与通配符行为奇怪

时间:2017-11-01 13:30:18

标签: batch-file cmd windows-10

嗨我有图片文件夹,当我跑步时#34;将C:\ test \从\ 007 * C:\ test \移到\" 以009开头的文件也被复制:

C:\ test \ from>移动C:\ test \从\ 007 * .jpg C:\ test \到\

C:\ test \ from \ 007014_1112017.JPG

C:\测试\从\ 009408_1112017_12.JPG

C:\测试\从\ 009086_1112017_5.JPG

C:\测试\从\ 009437_1112017_4.JPG

C:\ test \ from \ 009429_1112017_5.JPG

C:\测试\从\ 009120_1112017_4.JPG

C:\测试\从\ 009408_1112017_2.JPG

     7 file(s) moved.

怎么样?

2 个答案:

答案 0 :(得分:0)

默认情况下,文件具有“长名称”和“短名称”。

您的move会将与您的面具匹配的文件移动到 名称。

您可以使用dir /x

显示文件的短名称

答案 1 :(得分:0)

您的解决方法是使用FINDSTR匹配dir命令的实际输出。 dir命令的输出将始终输出实际文件名而不是短文件名。

FOR /F "delims=" %%G in ('dir /b /a-d 007*.jpg^|findstr /r /c:"^007.*\.jpg"') do move "%%G" "C:\test\to\"