El comando for nos va a permitir crear un pequeño bucle que realice alguna acción, ejecutando un comando, recorriendo una lista de elementos.
Se trata de un comando que implementa las sentencias iterativas de los lenguajes de programación estructurados. La limitación que tiene es que el bucle recorrerá una lista de elementos dado y realizará una acción determinada en el comando que especifiquemos a continuación en cada vuelta del bucle.
Por supuesto, podemos utilizar los elementos de la lista en cada vuelta del bucle, haciendo uso de una variable, la variable que definimos en el bucle for.
Vamos a echar un vistazo a la ayuda del comando for.
Es importante que entendamos que la variable tomará el valor de cada elemento de la lista, uno a uno, en cada vuelta del bucle. Es fundamental, que nos demos cuenta de que la variable tiene que ser de una sola letra y, además, para poder expandirla, acceder a su valor, tenemos que usar un doble %.
Por último, el conjunto no tiene porque ser de ficheros, podemos insertar una lista de elementos separados por espacios.
Veamos un par de ejemplos simples.
Esta pequeña porción de código recorre la lista formada por la cadena uno dos y tres, haciendo que la variable %%n tome el valor de cada uno de los elementos en cada vuelta del bucle.
Es decir, el bucle se repetirá tres veces. En cada repetición la variable %%n tomará el valor de un elemento distinto, recorriendo en orden la lista, de la lista, y ejecutará el comando echo Elemento: %%n.
El resultado, en pantalla será el siguiente:
En la siguiente porción de código, se recorre una lista de nombres de directorios y se crearán todos dentro de un directorio base, uno a uno, gracias al bucle for.
De esta forma, el bucle recorrerá la variable directorios que contiene la lista de directorios. En cada vuelta, la variable %%d tomará el valor del nombre de un directorio almacenado en la variable directorios. A continuación, se ejecutará el comando mkdir, que utiliza la variable baseDir, como parte inicial de la ruta del directorio a crear, y la variable %%d que contiene le nombre del directorio que se desea crear dentro del directorio base.
El ejemplo completo, cuya finalidad es meramente académica, se muestra a continuación.
El resultado de la ejecución será la siguiente:
Podríamos mejorar el script comprobando si existe el directorio antes de crearlo.
También podemos recorrer un listado de ficheros que, a priori, no conocemos utilizando patrones como *.txt en el conjunto de datos del bucle.
El script completo quedaría así
El resultado al ejecutarlo sería
Dejar una respuesta