我当前删除文件夹中超过 2 天的所有文件的代码是:
forfiles /p "C:\Test" /s /m *.* /c "cmd /c Del /F /Q @path" /d 2
有一个.idf文件和所有其他文件。我想删除除一个 .idf 文件之外的所有文件。我该如何更改才能让当前代码忽略该文件?如果不可能,任何新命令都会有所帮助。
答案1
稍微改进一下你的方法:
- 继续
forfiles
使用/d -2
开关仅处理较旧的文件 - 使用
for %G
with来省略扩展名的if /I [%~xG] neq [.idf]
文件.idf
%
如果从批处理文件运行,则全部加倍:%%G
而不是%G
等。@echo
调试完成后立即删除。
命令:
forfiles /p "C:\Test" /s /m *.* /c "cmd /c for %G in (@path) do @if /I [%~xG] neq [.idf] @echo del /F /Q %G" /d -2
资源(必读):
- (命令参考)Windows CMD 命令行的 AZ 索引
- (其他细节)Windows CMD Shell 命令行语法
- (
%~G
等专题页面)命令行参数(参数)