问题描述
我有一堆文件按照以下模式命名: FILENAME0.ext FILENAME1.ext FILENAME2.ext FILENAME3.ext FILENAME4.ext ,我正在尝试复制具有特定编号的文件文件名末尾到其他文件夹。
例如,我这样做:
xcopy "C:\testfolder\*1.ext" "C:\testfolder\folder1"
但是由于某种原因,它不仅会复制以1结尾的文件,还会复制其他一些文件(不一致)。 奇怪的是-对于文件名以0结尾的文件,它确实可以正常工作。 *通配符似乎有些我不了解的地方?还是有更好的方法来完成此任务?
解决方法
您可以使用where.exe
,它忽略8.3名称:
@For /F Delims^= %%G In ('"(Set PATHEXT=) & "%__AppDir__%where.exe" "C:\testfolder":"*1.ext" 2> NUL"') Do @"%__AppDir__%xcopy.exe" "%%G" "C:\testfolder\folder1\" /QHRKY 1> NUL