使用 Windows 批处理文件删除重复文件

Chr*_*ski 4 windows batch command-line

我有一个程序可以自动将文件复制到一个目录,如果它创建了一个副本,它会像这样命名:

file with duplicate.xxx
file with duplicate - 1.xxx
file with duplicate - 2.xxx
Run Code Online (Sandbox Code Playgroud)

我需要一种使用 Windows 批处理文件删除所有重复项的方法。

类似的东西:

FOR %f IN (C:\files\*.*) DO del "%f - 1"
Run Code Online (Sandbox Code Playgroud)

但是,这行不通,因为那会解决 file with duplicate - 1.xxx - 1

Hyd*_*ral 5

如果您想删除名称以 结尾的所有文件- ?,那么您就完了。

尝试这个:

FOR %%f IN ("C:\files\* - ?.*") DO del "%%f"
Run Code Online (Sandbox Code Playgroud)

如果您从批处理文件运行它,则需要将百分号加倍。并使用echo而不是del第一个进行测试。