Löschen Sie Dateien aus einem Ordner, wenn eine ähnlich benannte Datei in einem anderen Ordner nicht vorhanden ist


8

Ich muss Dateien aus Ordner A löschen, wenn in Ordner B keine Datei mit demselben Namen, aber unterschiedlichem Dateityp vorhanden ist.

Zum Beispiel:

FOLDER A
file1.gif
file2.gif
file3.gif
file4.gif
file5.gif
file6.gif

FOLDER B
file2.jpg
file4.jpg
file6.jpg

Die Batch - Datei oder Software würde die beiden Ordner vergleichen und löschen file1.gif, file3.gifund file5.gifaus dem Ordner A.

Antworten:


7

Sie können dies direkt über die Befehlszeile tun: Das
for %F in ("A\*.gif") do @if not exist "B\%~nF.jpg" echo del "%F"
obige Beispiel druckt einfach die Befehle aus, damit Sie überprüfen können, ob sie das tun, was Sie wollen. Nachdem Sie sicher sind, dass es in Ordnung ist, entfernen Sie es echound es wird tatsächlich ausgeführt delete.
Sie können dies natürlich in einer Charge setzen, wenn Sie so wollen , ersetzen %mit %%und entfernen @(und wahrscheinlich hinzufügen @echo offstatt)


Das hat perfekt funktioniert - ich wünschte, ich könnte zweimal abstimmen. Vielen Dank.
Ajcw

Funktioniert auch, wenn Sie Dateien aus A löschen möchten, die in B vorhanden sind:for %F in ("A\*.gif") do @if exist "B\%~nF.jpg" echo del "%F"
PaloDravecky
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.