Cómo recorrer carpetas en PowerShell (con ejemplo)
A menudo, es posible que desee utilizar PowerShell para recorrer todas las carpetas de un directorio y realizar alguna tarea.
Puede utilizar la siguiente sintaxis básica para hacerlo:
Get-ChildItem -Recurse -Directory | ForEach-Object {
New-Item -ItemType file -Path "$($_.FullName)" -Name "new_data.txt"
}
Este ejemplo en particular recorre cada carpeta del directorio actual, incluidas todas las subcarpetas, y crea un nuevo archivo llamado new_data.txt en cada carpeta.
Tenga en cuenta que usamos Get-ChildItem -Recurse -Directory para recuperar de forma recursiva cada carpeta en el directorio actual.
Luego usamos el cmdlet ForEach-Object para realizar alguna acción en cada carpeta.
Siéntete libre de utilizar cualquier código que desees en ForEach-Object para realizar cualquier tarea específica que desees en cada carpeta.
El siguiente ejemplo muestra cómo utilizar esta sintaxis en la práctica.
Ejemplo: cómo recorrer carpetas en PowerShell
Podemos usar la siguiente sintaxis con el cmdlet Get-ChildItem para ver primero todas las carpetas y subcarpetas en el directorio actual:
Get-ChildItem -Recurse -Directory
La siguiente captura de pantalla muestra cómo utilizar esta sintaxis en la práctica:
Podemos ver que el directorio actual tiene las siguientes carpetas:
- datos-este
- datos-norte
- datos-sur
- datos-oeste
Ninguna de estas carpetas tiene subcarpetas.
Supongamos que queremos recorrer cada una de estas cuatro carpetas e insertar un nuevo archivo de texto llamado new_data.txt.
Podemos utilizar la siguiente sintaxis para hacerlo:
Get-ChildItem -Recurse -Directory | ForEach-Object {
New-Item -ItemType file -Path "$($_.FullName)" -Name "new_data.txt"
}La siguiente captura de pantalla muestra cómo utilizar esta sintaxis en la práctica:
Podemos usar el cmdlet Get-ChildItem una vez más para ver el contenido actualizado de las carpetas.
Por ejemplo, podemos usar la siguiente sintaxis para ver el contenido de la carpeta denominada east-data:
Get-ChildItem east-dataLa siguiente captura de pantalla muestra cómo utilizar esta sintaxis en la práctica:
Podemos ver que esta carpeta contiene un nuevo archivo llamado new_data.txt.
Si utilizamos el cmdlet Get-ChildItem para ver el contenido de cada carpeta, encontraremos que cada carpeta contiene un archivo de texto llamado new_data.txt.
Siéntase libre de utilizar una sintaxis similar para recorrer cada carpeta en su propio directorio y realizar alguna acción específica.


