• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

只移动.xls文件不是.xlsx,.xlsx,.xlsb

cmd 来源:Sam 4次浏览

我正在寻找只将.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建立额外的过滤器:

<code class="prettyprint-override">for /F "delims= eol=|" %x in ('dir /S /A:-D /B "C:\source\*.xls" ^| findstr /I "\.xls$"') do move "%x" "c:\destination" 
</code>

版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)