hi我有一个包含图像的文件夹,当我运行"将C:\test\from\007*C:\test\to\"时以009开头的文件也被复制:
C: \test\from>将C:\test\from\007*.jpg C:\test\移动到\
C: \test\ from \0007014_1112017.JPG
C: \test\from\009408_1112017_12.JPG
C: \test\ from \009086_1112017_5.JPG
C: \test\ from \009437_1112017_4.JPG
C: \test\ from \009429_1112017_5.JPG
C: \test\from\009120_1112017_4.JPG
C: \test\ from \009408_1112017_2.JPG
7 file(s) moved.
怎么会这样?
默认情况下,文件有一个"长名称"和一个"短名称"。
您的move
将移动与您的掩码匹配的文件,该掩码具有或名称。
您可以使用dir /x
显示文件的简称
您的解决方案是使用FINDSTR来匹配dir命令的实际输出。dir命令的输出将始终输出实际文件名,而不是短文件名。
FOR /F "delims=" %%G in ('dir /b /a-d 007*.jpg^|findstr /r /c:"^007.*.jpg"') do move "%%G" "C:testto"