get-childitemを再帰的に使用したいのですが、ディレクトリではなくファイルのみを返します。私が持っている最良の解決策は自然に思えません:
gci . *.* -rec | where { $_.GetType().Name -eq "FileInfo" }
get-childitemを再帰的に使用したいのですが、ディレクトリではなくファイルのみを返します。私が持っている最良の解決策は自然に思えません:
gci . *.* -rec | where { $_.GetType().Name -eq "FileInfo" }
回答:
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
powershell 2.0で私が思いついた最良かつ最も簡単な解決策は、拡張子を持つすべてのファイルを含めることです。
get-childitem -Recurse -include *.*
フォルダーには拡張子がないため、フォルダーは除外されます。filesという名前の拡張子がないことに注意してください。