मैं गेट-चाइल्डिटेम को पुनरावर्ती रूप से उपयोग करना चाहता हूं, लेकिन केवल यह है कि रिटर्न फाइल नहीं निर्देशिका। मेरे पास सबसे अच्छा समाधान प्राकृतिक नहीं लगता है:
gci . *.* -rec | where { $_.GetType().Name -eq "FileInfo" }
मैं गेट-चाइल्डिटेम को पुनरावर्ती रूप से उपयोग करना चाहता हूं, लेकिन केवल यह है कि रिटर्न फाइल नहीं निर्देशिका। मेरे पास सबसे अच्छा समाधान प्राकृतिक नहीं लगता है:
gci . *.* -rec | where { $_.GetType().Name -eq "FileInfo" }
जवाबों:
पॉवर्सशेल 3.0 में, यह सरल है,
gci -Directory #List only directories
gci -File #List only files
यह और भी छोटा है,
gci -ad # alias for -Directory
gci -af # alias for -File
PowerShell 3.0 में आप नए जोड़े गए -Attributes
पैरामीटर
(तार्किक ऑपरेटरों के साथ) का उपयोग कर सकते हैं
Get-ChildItem -Recurse -Attributes !Directory+!System
golfed
dir -r -Attributes !D
2.0 में पॉवरशेल सबसे अच्छा और सरल उपाय है, जिसमें सभी फाइलों को एक एक्सटेंशन के साथ शामिल करना है:
get-childitem -Recurse -include *.*
फ़ोल्डरों में एक्सटेंशन नहीं होता है, इसलिए उन्हें बाहर रखा जाता है, फ़ाइलों के नाम के विस्तार के बारे में सावधान रहें।