2010-08-31 12 views

उत्तर

15
Get-ChildItem | ForEach-Object { <# do what you need to do #> } 

या कम:

gci | % { <# ... #> } 

या आप एक स्पष्ट पाशन निर्माण चाहते हैं:

foreach ($file in Get-ChildItem) { 
    # ... 
} 

नोट तथापि, कि foreach केवल एक बार चलेगा Get-ChildItem से सभी उत्पादन एकत्र किया जाता है। मेरी राय में अधिकांश पावरहेल कोड जितना संभव हो पाइपलाइन का उपयोग करना चाहिए।

+0

यदि आपके पास बड़ी संख्या में फ़ाइलें हैं, [System.IO.Directory] :: EnumerateFiles। इसके लिए .NET 4+ की आवश्यकता है। लेकिन यह तब तक इंतजार नहीं करता जब तक कि यह सभी फाइलों पर पुनरावृत्त न हो जाए। यदि आपके पास निर्देशिका में हजारों हैं तो कौन सी समस्या है। https://stackoverflow.com/questions/14970692/powershell-io-directory-find-file-types-in-all-subdirectories – TamusJRoyce

+0

@TamusJRoyce: Get-ChildItem को भी स्ट्रीम करना चाहिए। निर्देशिका के रूप में। गेटफाइल, ज़ाहिर है, जो एक सरणी देता है। – Joey

संबंधित मुद्दे