ディレクトリ一覧を拾得する+(その直下ディレクトリも含めて)
//対象ディレクトリURL string directory_url_B = textBox2.Text.ToString(); //ディレクトリ配列のスペース数算出 //指定ディレクトリに含まれるディレクトリの数 int path_cnt = 0; //一時変数 int path_cnt2 = 0; //各ディレクトリに含まれるディレクトリの数 int path_cnt3 = 0; //指定ディレクトリのファイルパスをループ毎に拾得する。全ての拾得でループ終了 foreach (string directory_path_1 in Directory.GetDirectories(directory_url_B)) { //指定ディレクトリの下位ディレクトリ一覧を拾得する path_cnt2 = Directory.GetDirectories(directory_path_1).Length; if (path_cnt2 > path_cnt3) { path_cnt3 = path_cnt2; } //ディレクトリ数加算 path_cnt++; } //ここまで //算出した最大数での二次元配列の宣言 string[,] directory_array =new string[path_cnt,path_cnt3+1]; //一次元回転指数 int cntA = 0; //二次元回転指数 int cntB = 0; //指定ディレクトリに含まれるディレクトリのパスを拾得 foreach (string directory_path_3 in Directory.GetDirectories(directory_url_B.ToString())) { //先頭次元にディレクトリパスを格納 directory_array[cntA, 0] = directory_path_3; cntB = 1; //拾得ディレクトリにに含まれるディレクトリ分のループ foreach (string directory_path_4 in Directory.GetDirectories(directory_path_3)) { //以下に含まれるディレクトリパスを格納 directory_array[cntA, cntB] = directory_path_4; //二次元指標の加算 cntB++; } //一次元指標の加算 cntA++; }
一次下のディレクトリしか格納できない
更に下まで(要はディレクトリに含まれる全て)の拾得はクラス使用したり再帰使用したりする必要が有るかな…