Algunas veces necesitamos el poder eliminar ficheros de una
o varias carpetas que cumplan unos requisitos como tipo de fichero, fecha,
tamaño, etc. Existe un comando poco conocido llamado FORFILES que nos permite buscar una serie de ficheros con unas características
determinadas y ejecutar una acción sobre ellos.
Veamos unos ejemplos:
1.- Mostar los ficheros TXT de la carpeta C:\prueba y las
subcarpetas que cuelgan de ella.
FORFILES /p c:\Prueba /s /m *.TXT
/c “CMD /c echo @PATH”
Nos mostrará todos los ficheros de la carpeta C:\prueba y
subcarpetas que tengan la extensión TXT.
La opción /p indica el PATH donde ha de buscar, si se omite
es el directorio actual.
La opción /s le dice que sea recursivo
La opción /m de mascara le indica cual es el patrón a
buscar, si se omite es *.*, es decir, todos.
La opción /c es el comando que ejecuta con los resultados
obtenidos, en el caso del ejemplo se ha utilizado la variable @PATH que es
donde almacena toda la ruta y el nombre del fichero que cumple con los
requisitos.
Existen más variables como @FILE que solo contiene el nombre
del fichero con su extensión o @FNAME
que es el nombre del fichero sin extensión.
2.- Borrar todos los ficheros TXT de la carpeta C:\Prueba y
las subcarpetas que cuelgan de ella que sean posteriores al 1 de enero de 2013.
FORFILES /p c:\prueba /s /m *.txt
/c "cmd /c del @PATH" /d 01/01/2013
La opción /d nos indica la fecha que debe ser en formato
inglés MM/DD/YYYY, podemos poner delante un signo – para indicarle que sea en
esa fecha o anterior o un signo + o no
poner nada para indicarle que sea en esa fecha o posterior, también podemos
indicarle la cantidad de días, es decir /d -180 le indica que sea anterior a
180 días.
Este comando tiene muchas más opciones que podemos ver en el
siguiente link.
Espero que os haya sido útil.
No hay comentarios:
Publicar un comentario