使用批次檔刪除資料夾中除一個副檔名(例如 .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

資源(必讀):

相關內容