HIRO's.NET

VB.NET, C#, PowerShell Tipsサイト

 VB.NET, C#, PowerShellを使用しているエンジニアのためのサイト。

 基本的な使用方法から開発で役立つTipsまで幅広く取り扱っています。

HIRO's.NET RSSHIRO's.NET RSS


C# 2005の開発でお困りのことはありませんか?
そんな悩みは当サイトで解決!!

HOME > C# 2005 Tips > フォルダ操作 Tips メニュー

12.指定したフォルダのサブフォルダをすべて取得する

UPDATE:2006/07/18 

<< 前のTips  次のTips >>

 


 DirectoryクラスのGetDirectoriesメソッドではサブフォルダ以下のサブフォルダを取得することはできません。
 そこでGetSubDirectoriesという独自のメソッドを準備しました。

 
サンプル1
/// <summary>
/// 指定したフォルダにあるサブフォルダをすべて取得する
/// </summary>
/// <param name="DirName">サブフォルダを取得するフォルダパス</param>
/// <param name="Dirs">取得したサブフォルダ</param>
private void GetSubDirectories(string DirName, ref List<string> Dirs)
{
    foreach ( string strDir in System.IO.Directory.GetDirectories(DirName) )
    {
        //リストに追加
        Dirs.Add(strDir);
        //再帰でサブフォルダを取得する
        GetSubDirectories(strDir, ref Dirs);
    }
}


 
サンプル2
//★★★★★使用例★★★★★

List<string> Folders = new List<string>();

//C:\Work以下のすべてのサブフォルダを取得する
GetSubDirectories(@"C:\Work", ref Folders);