只移动.xls文件不是.xlsx,.xlsx,.xlsb
我正在寻找只将.xls文件移出目录(包括子文件夹)而不移动.xlsx或.xlsm文件,我发现一条命令认为会做这项工作,它工作正常,如果我指定.xlsx,只会拉动通过该扩展名的文件。只移动.xls文件不是.xlsx,.xlsx,.xlsb
但是,当指定.xls时,即使我没有尾随通配符,它也会通过.xls,.xlsx,.xlsm和.xlsb。
for /r "c:\source" %x in (*.xls) do move "%x" "c:\destination"
我没那么熟悉,所以我可能只是失去了一些东西很明显,但已经尝试了搜索,并不能找到任何东西来解决这个问题。
任何帮助,将不胜感激。由于
回答:
的*.xls
模式对阵双方是在用户和存在于默认的背景和意图向后兼容的8.3短文件名中可见的长文件名检查。短文件名只有3个字符的扩展名,因此长文件名为longfilename.xlsx
的文件的文件扩展名较短,为.xls
。
为了克服这个问题,最简单的解决方案是通过findstr
建立额外的过滤器:
for /F "delims= eol=|" %x in ('dir /S /A:-D /B "C:\source\*.xls" ^| findstr /I "\.xls$"') do move "%x" "c:\destination"
以上是 只移动.xls文件不是.xlsx,.xlsx,.xlsb 的全部内容, 来源链接: utcz.com/qa/262406.html