Fou*_*Two 5 cmd batch-file short-filenames
我想递归删除批处理文件中具有特定扩展名的所有文件。
我知道以下命令:
del /s *.ext
Run Code Online (Sandbox Code Playgroud)
但是,这在 Windows 上也会删除具有其他扩展名的文件,例如 .ext1 或 .ext2 。其原因似乎是此类文件的 8.3 文件名以 .ext 结尾,因此扩展名较长的文件也会匹配。
我正在寻找上述命令的替代方法,该命令递归删除所有具有 .ext 扩展名的文件,但保留具有更长扩展名的文件。
where命令的工作方式有点不同(关于通配符和短名称)。绕一圈for /f,就完成了。然后您的示例将转换为:
for /f "delims=" %%a in ('where /r . *.ext') do ECHO del "%%a"
Run Code Online (Sandbox Code Playgroud)
注意:我del只是通过回显该命令来解除该命令。ECHO当您确定它完全符合您的要求时,请在故障排除后删除它。
| 归档时间: |
|
| 查看次数: |
3398 次 |
| 最近记录: |