Usuń pliki z jednego folderu, jeśli plik o podobnej nazwie nie istnieje w innym folderze

8

Muszę usunąć pliki z folderu A, jeśli plik o tej samej nazwie, ale innym typie pliku nie istnieje w folderze B.

Na przykład:

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

FOLDER B
file2.jpg
file4.jpg
file6.jpg

Plik wsadowy lub oprogramowanie będzie porównać dwa foldery i usuń file1.gif, file3.gifa file5.gifod folderu A.

ajcw
źródło

Odpowiedzi:

7

Możesz to zrobić bezpośrednio z wiersza poleceń:
for %F in ("A\*.gif") do @if not exist "B\%~nF.jpg" echo del "%F"
powyższy przykład po prostu drukuje polecenia, abyś mógł sprawdzić, czy zrobi to, co chcesz. Po upewnieniu się, że jest w porządku, usuń echoi faktycznie uruchomi się delete.
Oczywiście można umieścić to w partii, jeśli zechcą wymienić %z %%i usunąć @(i zapewne dodać @echo offzamiast)

wmz
źródło
Działa to doskonale - chciałbym móc dwukrotnie głosować. Wielkie dzięki.
ajcw
Działa również, jeśli chcesz usunąć pliki z A, ISTNIEJĄCEGO w B:for %F in ("A\*.gif") do @if exist "B\%~nF.jpg" echo del "%F"
PaloDravecky