Script por lotes: iteración sobre una array

Un script por lotes es un conjunto de instrucciones o un script para SOS y el sistema operativo Windows. Podemos escribirlos en el CMD línea a línea o podemos crear un archivo con   extensión “.bat” o “.cmd” . El archivo puede contener instrucciones válidas para ser ejecutadas por el intérprete. El significado de lote es la ejecución no interactiva de las instrucciones. Podemos agregar bloques de programación lógicos y condicionales en dichos scripts. 

Iterando sobre arreglos

Es necesario iterar sobre las arrays para escribir menos scripts de código que se puedan mantener. Necesitamos iterar los elementos de la array uno por uno o en un patrón particular de tal manera que no tengamos que repetir manualmente los elementos. Podemos lograr esto de las siguientes maneras.

Método 1:

@echo off 
set list="foo" "bar" "baz"
(for %%a in (%list%) do ( 
   echo %%a 
))

En este enfoque, estamos utilizando bucles for basados ​​en rangos, es decir, iteraremos sobre la array hasta que esté vacía, de ahí la palabra, for .. in… Así que después de la sintaxis del bucle for podemos decir la palabra clave, do para ejecutar los comandos hasta el bucle es iterable. El contenido de la array en cada índice se almacena en la variable «a», que puede ser cualquier cosa igual de sensata. 

Ahora, usando este enfoque, podemos iterar sobre arreglos usando el iterador y luego podemos hacer eco de ellos. También podemos modificar los contenidos accediendo a la array original y al índice del elemento. 

Método 2:

@echo off
set x[0]=cricket
set x[1]=football
set x[2]=hockey
set x[3]=golf
set x[4]=volleyball

for /L %%a in (0,1,4) do call echo %%x[%%a]%%

Lo anterior crea una array de tamaño 5 pero puede tener cualquier longitud, la iteración se realiza en un comando de una sola línea pero es un proceso de varios pasos. Primero, /L en el ciclo for permitirá iterar a través de los elementos del arreglo. El rango (0,1,4) son los índices de inicio, incremento y fin de la lista.  Es decir, comenzamos con el índice 0 e incrementamos 1 después de cada bucle hasta llegar al número 4 en el índice de la lista. 

Después de eso, tenemos un cuerpo de bucle en línea, que llama a los comandos para hacer eco e imprimimos el valor de x[a] donde x es la variable de array y a es el iterador en el bucle, encerramos la variable en «%%» para obtener el valor de la variable real que se analiza. También usamos » %% » antes del iterador para analizar el valor del iterador mismo y el » %% » adjunto alrededor de la variable para obtener el valor de let’s decir » lista [0] «. 

Tomemos un ejemplo de iteración a través de algunos elementos de la array:

@echo off
set x[0]=cricket
set x[1]=football
set x[2]=hockey
set x[3]=golf
set x[4]=volleyball

for /L %%a in (1,1,3) do call echo %%x[%%a]%%

Aquí, no imprimimos todos los elementos de la array. Usamos el rango como (1,1,3) que itera desde el índice 1 hasta el 3 uno por uno. Por lo tanto, podemos lograr múltiples combinaciones con las iteraciones de la array.

Publicación traducida automáticamente

Artículo escrito por meetgor y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *