我想检查一个文件夹中的所有文件,看看它们是否存在于另一个文件夹中。当在第二个文件夹中不存在的第一个文件夹中找到文件时,我希望删除该文件。
这可能吗?
根据需要编辑路径信息(或包含批处理参数 %1 %2),并在确认获得正确结果后删除 DEL 之前的 ECHO。
@echo off
setlocal
set "dir1=."
set "dir2=d1"
set tempFile="%temp%\exclude%random%.txt"
dir /b "%dir2%" >%tempFile%
for /f "eol=: delims=" %%F in ('dir /b /a-d "%dir1%" ^| findstr /vixg:%tempFile%') do echo del "%dir1%\%%F"
del %tempFile%
注意- 此解决方案只是比较名称。如果两个完全不同的文件具有相同的名称,则它们将被视为相同。