Publicado el 7 comentarios

Borrar archivos viejos o antiguos en Windows desde linea de comando

Aunque esto lo podríamos hacer desde el el explorador de archivo de windows, ordenando los archivos por fecha y seleccionando los que cumplan la condición requerida de antigüedad, existe una forma más práctica de hacerlo usando el comando FORFILES desde la linea de comandos (CMD) del mismo windows. Este comando puede ser usado interactivamente o en un archivo de procesamiento por lotes (batch).

Por ejemplo en el siguiente uso del comando FORFILES:

forfiles /p "C:\Documentos" /s /m *.doc /d -30 /c "cmd /c del @path"

Indica buscar en la carpeta C:\Documentos (/p “C:\Documentos”) y todas las carpetas contenidas en ella (/s), recursivamente,  aquellos archivos con la extensión .doc (/m *.doc) de 30 días o más de antigüedad (/d -30) y borrar dichos archivos con el comando del (/c “cmd /c del @path”).

También se le puede indicar la fecha exacta de antigüedad:

forfiles /p "C:\Documentos" /s /m *.doc /d -01/01/2017 /c "cmd /c del @path"

En este caso borrará los archivos igual o anterior a la fecha del primero de enero del 2017 (/d -01/01/2017), el formato de la fecha como puedes observar es dd/mm/aaaa (día/mes/año).

Más información y usos de este comando lo pueden encontrar aquí.

¡Espero les sirva!

¡No olviden visitar a los patrocinadores!

 

 

7 comentarios en “Borrar archivos viejos o antiguos en Windows desde linea de comando

  1. Muy agradecido y muy util su aporte mi amigo

    1. Muchas gracias por su comentario y visita.

  2. ¿para borrar las carpetas o directorios como seria el comendo?

  3. para agregar mas extenciones de archivos (xlsx, ppt, pdf) como se agregaria?

    1. Hola Erik. Puedes escribir el comando varias veces reemplazando la extensión o usar el comando FOR:
      for %G in (*.xlsx *.ppt *.pdf) do forfiles /p “C:\Documentos” /s /m %G /d -30 /c “cmd /c del @path”
      Referencia: https://stackoverflow.com/questions/11719347/using-forfiles-with-multiple-file-types-for-search-mask

  4. Hola Buenas, como hago para que me genere un log?

    1. Ve si te funciona:
      forfiles /p “C:\Temp” /m swap* /d -10 /c “cmd /c del @path&echo @path” > borrados.log
      este dejará los nombres de los archivos en el archivo borrados.log

Responder a javalosCancelar respuesta