2

あるフォルダー内のすべてのファイルをチェックして、それらが別のフォルダーに存在するかどうかを確認したいと考えています。2 番目のフォルダーに存在しない最初のフォルダーにファイルが見つかった場合、そのファイルを削除します。

これは可能ですか?

4

1 に答える 1

2

必要に応じてパス情報を編集し (またはバッチ引数 %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%

- この解決策は、単に名前を比較しているだけです。2 つの完全に異なるファイルは、同じ名前であれば同じと見なされます。

于 2012-04-19T14:14:11.320 に答える