Elimina i file da una cartella se non esiste un file con un nome simile in un'altra cartella


8

Devo eliminare i file dalla cartella A se un file con lo stesso nome ma tipo di file diverso non esiste nella cartella B.

Per esempio:

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

FOLDER B
file2.jpg
file4.jpg
file6.jpg

Il file batch o il software confronterebbe le due cartelle ed eliminerebbe file1.gif, file3.gife file5.gifdalla cartella A.

Risposte:


7

Puoi farlo direttamente dalla riga di comando:
for %F in ("A\*.gif") do @if not exist "B\%~nF.jpg" echo del "%F"
sopra l'esempio stampa semplicemente i comandi in modo da poter verificare che farà quello che vuoi. Dopo che sei sicuro che sia ok rimuovi echoe funzionerà effettivamente delete.
Naturalmente puoi metterlo in un batch, se lo desideri, sostituiscilo %con %%e rimuovi @(e probabilmente aggiungi @echo offinvece)


Ha funzionato perfettamente - vorrei poter votare due volte. Molte grazie.
ajcw,

Funziona anche se si desidera eliminare i file da A che ESISTONO in B:for %F in ("A\*.gif") do @if exist "B\%~nF.jpg" echo del "%F"
PaloDravecky
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.