VB.NET, C#, PowerShellを使用しているエンジニアのためのサイト。
基本的な使用方法から開発で役立つTipsまで幅広く取り扱っています。
つぎに、.NET Frameworkを利用した方法を紹介します。
指定したディレクトリ以下にあるサブディレクトリを取得するには、System.IO.DirectoryのGetDirecoriesメソッドを使用することで取得することができます。
まず最初にSystem.IOをロードします。
List2PS C:\Work> [reflection.assembly]::LoadWithPartialName("System.IO") |
つぎに、GetDirectoriesメソッドを使用して、任意のディレクトリ以下にあるサブディレクトリを取得します。
書式は
[System.IO.Directory]::GetDirectories("任意のディレクトリ")
です。
List3では、"C:\Work"以下にあるサブディレクトリを取得しています。
List2PS C:\Work> [System.IO.Directory]::GetDirectories("C:\Work") |
まず、サブディレクトリを取得する方法ですが、Get-ChildItemコマンドレットを使用します。
get-ChildItemコマンドレットを単独で実行すると、左から順にMode, LastWriteTime, Length, Nameの順に表示されます。
Modeが"d----"と表示されているのがディレクトリですので、パイプを使用してディレクトリだけに絞り込みたいと思います。
書式は
Get-ChildItem -path "任意のフォルダ" | where { $_.mode -match "d" }
です。
リスト1ではC:\Workのサブディレクトリを取得しています。
List1PS C:\Work> Get-ChildItem -path C:\Work | where { $_.mode -match "d" } |