Get-childitemを再帰的に使用したいのですが、ディレクトリではなくファイルのみを返すようにします。私が持っている最善の解決策は、自然とは思えません。
gci . *.* -rec | where { $_.GetType().Name -eq "FileInfo" }
これを試して:
gci . *.* -rec | where { ! $_.PSIsContainer }
Powershell 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
ゴルフ
dir -r -Attributes !D