Capítulo 6: Estructuras repetitivas

La estructura foreach

Es una estructura bastante especial, diseñada para recorrer todo tipo de listas de elementos. Normalmente, mientras se ejecuta el bloque de código, se aplica alguna operación sobre cada elemento de la lista. Su formato general será así:

Scripts-en-PowerShell-Guia-para-principiantes-156

Para entenderla, veamos lo que significa cada uno los argumentos que aparecen entre paréntesis:

  • elemento: representa una variable que tomará, en cada repetición y de forma ordenada, el valor de uno de los elementos de la colección.

  • colección: será el conjunto de valores sobre los que actuará el bloque de código.

Probablemente, la mejor forma de entenderlo sea a través de un ejemplo. Veamos cómo mostrar en pantalla los números del 1 al 5:

Scripts-en-PowerShell-Guia-para-principiantes-199

Y de nuevo, obtenemos el resultado esperado:

Scripts-en-PowerShell-Guia-para-principiantes-200

Cuando la lista es muy larga, podrías utilizar también intervalos:

Scripts-en-PowerShell-Guia-para-principiantes-201

En realidad, foreach funciona en cualquier situación donde pueda obtenerse una lista de elementos. Por ejemplo, podríamos utilizar el cmdlet Get-ChildItem, que permite obtener la lista de archivos de una o varias rutas del disco, para averiguar qué nombres de archivo, de una determinada carpeta, contienen el texto que hayamos escrito:

Scripts-en-PowerShell-Guia-para-principiantes-202

Por ejemplo, podemos obtener todos los archivos que contengan el texto dll como parte de su nombre:

Scripts-en-PowerShell-Guia-para-principiantes-203

… Aunque en la imagen sólo vemos el principio de la lista, que es bastante larga