web-dev-qa-db-ja.com

Powershell get-childitemリターンファイルのみを持つ

Get-childitemを再帰的に使用したいのですが、ディレクトリではなくファイルのみを返すようにします。私が持っている最善の解決策は、自然とは思えません。

gci . *.* -rec | where { $_.GetType().Name -eq "FileInfo" }
74

これを試して:

gci . *.* -rec | where { ! $_.PSIsContainer }
72
Andy

Powershell 3.0では、もっと簡単です、

gci -Directory #List only directories
gci -File #List only files

これはもっと短いです、

gci -ad # alias for -Directory
gci -af # alias for -File
97
iraSenthil

PowerShell 3.0では、新しく追加された -Attributesパラメータ も使用できます。
(論理演算子とともに)

Get-ChildItem -Recurse -Attributes !Directory+!System

ゴルフ

dir -r -Attributes !D
2
nixda