使用 Windows 批次檔刪除重複文件

使用 Windows 批次檔刪除重複文件

我有一個程式可以自動將文件複製到目錄,如果它建立一個副本,它會像這樣命名它:

file with duplicate.xxx
file with duplicate - 1.xxx
file with duplicate - 2.xxx

我需要一種方法來使用 Windows 批次檔刪除所有重複項。

大致如下:

FOR %f IN (C:\files\*.*) DO del "%f - 1"

然而,這是行不通的,因為這將解決file with duplicate - 1.xxx - 1

答案1

如果您想刪除名稱以 結尾的所有文件- ?,那麼您已經很接近了。

嘗試這個:

FOR %%f IN ("C:\files\* - ?.*") DO del "%%f"

如果從批次檔運行它,則需要將百分號加倍。並用 aecho而不是del第一個進行測試。

答案2

不需要FORdel可以接受通配符。嘗試:

del "c:\files\* - 1.xxx"

將符合目錄中帶有後綴“- 1.xxx”的任何內容。

相關內容