
我目前刪除資料夾中超過 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
等特別頁)命令列參數(參數)