如何解决批处理文件中的通配符未按预期工作
我有一堆文件按照以下模式命名: 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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。