1. ホーム
  2. powershell

[解決済み】Get-ChildItemを使用してディレクトリのみを取得するにはどうすればよいですか?

2022-04-02 15:05:21

質問

PowerShell 2.0を使っていて、あるパスのすべてのサブディレクトリをパイプで出力したいのですが、どうすればいいですか?次のコマンドは、すべてのファイルとディレクトリを出力しますが、ファイルをフィルタリングする方法がわかりません。

Get-ChildItem c:\mypath -Recurse

を使ってみました。 $_.Attributes のリテラルインスタンスをどのように作成すればよいのでしょうか? System.IO.FileAttributes と比較することができます。で cmd.exe となります。

dir /b /ad /s

解決方法は?

PowerShell 3.0以上の場合。

Get-ChildItem -Directory

また、エイリアスを使用することもできます。 dir , ls および gci


PowerShellのバージョンが3.0未満の場合。

FileInfo が返すオブジェクトは Get-ChildItem は "base"プロパティを持っています。 PSIsContainer . これらの項目だけを選択したい。

Get-ChildItem -Recurse | ?{ $_.PSIsContainer }

ディレクトリの生の文字列名が必要な場合は、次のようにします。

Get-ChildItem -Recurse | ?{ $_.PSIsContainer } | Select-Object FullName