Eliminar archivos de una carpeta si no existe un archivo con un nombre similar en otra carpeta


8

Necesito eliminar archivos de la carpeta A si un archivo con el mismo nombre pero diferente tipo de archivo no existe en la carpeta B.

Por ejemplo:

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

FOLDER B
file2.jpg
file4.jpg
file6.jpg

El archivo o software por lotes compararía las dos carpetas y las eliminaría file1.gif, file3.gify file5.gifde la carpeta A.

Respuestas:


7

Puede hacerlo directamente desde la línea de comandos: el
for %F in ("A\*.gif") do @if not exist "B\%~nF.jpg" echo del "%F"
ejemplo anterior simplemente imprime los comandos para que pueda verificar que hará lo que desea. Después de estar seguro de que está bien, elimine echoy realmente se ejecutará delete.
Por supuesto, puede poner esto en un lote, si lo desea, reemplace %con %%y elimine @(y probablemente agregue en su @echo offlugar)


Esto funcionó perfectamente. Ojalá pudiera votar dos veces. Muchas gracias.
ajcw

También funciona si desea eliminar archivos de A que EXISTEN en B:for %F in ("A\*.gif") do @if exist "B\%~nF.jpg" echo del "%F"
PaloDravecky
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.