使用 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"

如果从批处理文件运行,则需要将百分号加倍。然后先用echo而不是进行测试del

答案2

不需要FORdel可以接受通配符。尝试:

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

将匹配目录中带有后缀“-1.xxx”的任何内容。

相关内容