フォルダを名前で検索したい。しかし、フォルダの場所がわかりません。
その特定のフォルダーのパスを取得する必要があります。
どうすればできますか?
Directory.GetDirectoriesメソッド(String、String、SearchOption)を使用して、フォルダーを検索するディレクトリを指定する必要があります。
string[] directories = Directory.GetDirectories(@"c:\",
"*",
SearchOption.AllDirectories);
コンピューターからすべてのドライブを取得するには、DircotoryInfo.GetDrivesを使用して、次の方法ですべてのドライブを検索します。
DriveInfo[] allDrives = DriveInfo.GetDrives();
List<string> directoryList = new List<string>();
foreach (DriveInfo d in allDrives)
{
directoryList.AddRange(Directory.GetDirectories(d.Name , "*", SearchOption.AllDirectories));
}
// 文字「p」で始まるサブディレクトリのみを取得します。
string[] dirs = Directory.GetDirectories(@"c:\", "p*");
Console.WriteLine("The number of directories starting with p is {0}.",dirs.Length);
foreach (string dir in dirs)
{
Console.WriteLine(dir);
}
リファレンス - Directory.GetDirectories メソッド (文字列、文字列)
ドライブがわからない場合は、システムで使用可能なドライブを変更して、すべてのドライブを検索する必要があります。