使用批处理文件删除文件夹中除一个扩展名(例如 .idf)之外的所有文件

使用批处理文件删除文件夹中除一个扩展名(例如 .idf)之外的所有文件

我当前删除文件夹中超过 2 天的所有文件的代码是:

forfiles /p "C:\Test" /s /m *.* /c "cmd /c Del /F /Q @path" /d 2

有一个.idf文件和所有其他文件。我想删除除一个 .idf 文件之外的所有文件。我该如何更改才能让当前代码忽略该文件?如果不可能,任何新命令都会有所帮助。

答案1

稍微改进一下你的方法:

  • 继续forfiles使用/d -2开关仅处理较旧的文件
  • 使用for %Gwith来省略扩展名的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

资源(必读):

相关内容