あるフォルダー内のすべてのファイルをチェックして、それらが別のフォルダーに存在するかどうかを確認したいと考えています。2 番目のフォルダーに存在しない最初のフォルダーにファイルが見つかった場合、そのファイルを削除します。
これは可能ですか?
あるフォルダー内のすべてのファイルをチェックして、それらが別のフォルダーに存在するかどうかを確認したいと考えています。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 つの完全に異なるファイルは、同じ名前であれば同じと見なされます。