12
Quiero iterar sobre los archivos en una carpeta usando el script de powershell;cómo iterar sobre archivos con powershell?
Quiero iterar sobre los archivos en una carpeta usando el script de powershell;cómo iterar sobre archivos con powershell?
Get-ChildItem | ForEach-Object { <# do what you need to do #> }
o más corto:
gci | % { <# ... #> }
o si desea una estructura iterativa explícita: sin embargo
foreach ($file in Get-ChildItem) {
# ...
}
Nota, que foreach
sólo se ejecutará una vez que toda la salida de Get-ChildItem
se recoge. En mi opinión, la mayoría del código de Powershell debe usar la tubería tanto como sea posible.
Si tiene una gran cantidad de archivos, [System.IO.Directory] :: EnumerateFiles. Requiere .NET 4+. Pero no espera hasta que itere sobre todos los archivos. Lo cual es un problema si tiene miles dentro de un directorio. https://stackoverflow.com/questions/14970692/powershell-io-directory-find-file-types-in-all-subdirectories – TamusJRoyce
@TamusJRoyce: Get-ChildItem debería transmitirse también. A diferencia de Directory.GetFiles, por supuesto, que devuelve una matriz. – Joey