12
Powershell komut dosyasını kullanarak bir klasördeki dosyaların üzerinde yinelemek istiyorum;Dosyaların powershell ile nasıl yinelenmesi gerekir?
Powershell komut dosyasını kullanarak bir klasördeki dosyaların üzerinde yinelemek istiyorum;Dosyaların powershell ile nasıl yinelenmesi gerekir?
Get-ChildItem | ForEach-Object { <# do what you need to do #> }
veya daha kısa:
gci | % { <# ... #> }
veya açık bir döngü yapısı isterseniz: Ancak
foreach ($file in Get-ChildItem) {
# ...
}
Not, foreach
sadece Get-ChildItem
tüm çıkış toplanan kez aday olacağını. Benim düşünceme göre, çoğu Powershell kodu boru hattını mümkün olduğunca kullanmalıdır.
Çok sayıda dosyanız varsa, [System.IO.Directory] :: EnumerateFiles. .NET 4+ gerektirir. Ancak tüm dosyalar üzerinde yinelenene kadar beklemez. Bir dizinde binlerce varsa bir sorun. https://stackoverflow.com/questions/14970692/powershell-io-directory-find-file-types-in-all-subdirectories – TamusJRoyce
@TamusJRoyce: Get-ChildItem de yayınlamalıdır. Elbette bir dizi döndüren Directory.GetFiles'in aksine. – Joey