Script .bat de Windows que recorre todas las subcarpetas de una carpeta y ejecuta varios comandos con la ruta completa de cada una de ellas

Mostramos un scrit .bat (fichero de proceso por lotes o batch processing) de Windows que obtiene el listado de todas las subcarpetas (subdirectorios) de una carpeta dada y ejecuta una serie de comandos para cada una de ellas. Utilizaremos un ejemplo que elimina carpetas temporales del usuario, de varios navegadores web y de Escritorio Remoto, para liberar espacio en servidores de Escritorio Remoto con muchos usuarios conectados.

Requisitos para realizar script .bat de proceso por lotes batch que itera (recorre) carpetas

Únicamente necesitaremos un equipo con el sistema operativo Windows (el script sirve para casi todas las versiones desde Windows 98, ME, XP, Vista, 7, 10 y los Server W2003, W2008, W2012, W2016).

El usuario con el que se ejecute el script tendrá que tener acceso a las carpetas que recorrerá. Y si decidimos incluir alguna orden para copiar, mover o eliminar archivos necesitará disponer de estos permisos en las carpetas que se quieran analizar.

Script .bat de proceso por lotes que recorre subcarpetas y ejecuta comandos

A continuación mostramos un script de ejemplo que recorre todas las subcarpetas de la carpeta C:\Users y elimina completamente una serie de carpetas dentro de cada subcarpeta de C:\Usuarios:

Guardaremos el script en un fichero de texto plano (con cualquier editor como Notepad) y le pondremos de extensión .bat, por ejemplo: eliminar_temporales_usuarios.bat.

Una vez guardado podremos ejecutarlo directamente haciendo doble clic. Siempre con la precaución de que el script de ejemplo anterior elimina carpetas completas (incluyendo subcarpetas y archivos) y no solicita confirmación.

Script .bat de proceso por lotes que recorre subcarpetas y ejecuta comandos

Si queremos ejecutarlo con elevación de privilegios (como administradores), pulsaremos sobre el script con el botón derecho del ratón y elegiremos «Ejecutar como administrador»:

También podremos hacerlo desde la línea de comandos, abriendo una ventana de Símbolo de sistema (como administradores). Para ello, pulsando en el botón Inicio, escribiremos directamente «cmd», a la derecha nos mostrará «Símbolo del sistema», pulsaremos en «Ejecutar como administrador»:

Y para ejecutar el script nos posicionaremos en la carpeta donde lo tengamos guardado con cd ruta, por ejemplo:

cd C:\script

Una vez en la carpeta solo tendremos que teclear el nombre del fichero .bat (completo, con la extensión) y pulsar INTRO para que se ejecute:

eliminar_temporales_usuarios.bat [[y pulsar INTRO]]

Por supuesto también puede agregarse una tarea programada para que ejecute este script cada cierto tiempo de forma automática. En este caso conviene quitar el último comando del script: pause, para que se cierre el proceso una vez recorridas las subcarpetas y concluida la ejecución de los comandos. En el siguiente artículo explicamos cómo programar una tarea que ejecute un script:

alonsojpd

alonsojpd

Presidente y fundador de Proyecto A y AjpdSoft

También te podría gustar...

Deja una respuesta