-- Descargar TIP: forfiles para auto-limpieza de carpetas en Windows como PDF --
POR QUÉ FORFILES?
Recientemente necesité preparar un script que se encargara limpiar automáticamente una carpeta, de modo de conservar solamente los últimos 7 días. Si, hay muchos programas para esto, probablemente, pero es más simple, seguro y confiable hacerlo uno mismo, al menos en este caso. Investigando un poco di con el comando forfiles, que sirve para buscar archivos en una ruta determinada y luego procesarlos.
ALGUNAS OPCIONES DE FORFILES:
/p(path): Ruta dónde buscar
/s(subfolders): La búsqueda será recursiva
/m(máscara): Permite especificar tipo de archivos o extensiones a incluir
/c(comando): El comando a ejecutar sobre los archivos que resulten de nuestra «Búsqueda»
Un ejemplo claro:
forfiles /p «D:\test» /s /m . /c «cmd /c del /q @path» /d -7 > cleaning.log
Este comando buscará en d:\test, recursivamente, todos los archivos. Luego eliminará(ejecutará el comando del) los que tengan una fecha de modificación mayor a 7 días. Finalmente, registrará lo hecho en el archivo cleaning.log
Notas:
- La ruta debe ir entre comillas «. A menos que al final de la ruta usen otra barra, en cuyo caso, deben omitir las comillas. De todos modos, la sintaxis que muestro arriba es la recomendada.
- del /q se utiliza para que del no nos pida confirmación. En general, si queremos automatizarlo, necesitamos el /q. De otro modo, el comando se quedará esperando tu confirmación(sin mostrarla) y no hará nada.
- /d es el número de días después de los cuales, nuestro comando borrará. En este caso 7, como dije antes, indica al script que borre lo que tenga más de 7 días de modificado.
- Para el que no sepa, la última parte del script sirve para que el mismo escriba todo lo hecho en un archivo. El > hará que nuestro comando escriba sus resultados hacia un archivo. Esto es siempre útil, para poder revisarlo luego y comprobar que funcionó y como lo esperábamos.
Si necesitan más información sobre forfiles, pueden chequear el artículo en Technet(En inglés): https://technet.microsoft.com/en-us/library/cc753551.aspx