与えたフォルダ(パス)のファイルとフォルダの「サブパス」をリストしたい
c:\ files\folder1\subfolder1\file.txtフォルダーがあるとします。
関数c:\ files\folder1 \を指定すると
Subfolder1 subfolder1\file.txtを取得します
次のようなものを試してください。
static void Main(string[] args)
{
DirSearch(@"c:\temp");
Console.ReadKey();
}
static void DirSearch(string dir)
{
try
{
foreach (string f in Directory.GetFiles(dir))
Console.WriteLine(f);
foreach (string d in Directory.GetDirectories(dir))
{
Console.WriteLine(d);
DirSearch(d);
}
}
catch (System.Exception ex)
{
Console.WriteLine(ex.Message);
}
}
Directory.GetFiles
フォルダ内のすべてのファイルを一覧表示する方法:
string[] files = Directory.GetFiles(@"c:\files\folder1\",
"*.*",
SearchOption.AllDirectories);
foreach (var file in files)
{
Console.WriteLine(file);
}
SearchOption
パラメーターを使用して、検索を再帰的に行うかどうかを制御できることに注意してください(SearchOption.AllDirectories
) か否か (SearchOption.TopDirectoryOnly
)。
String[] subDirectories;
String[] subFiles;
subDirectories = System.IO.Directory.GetDirectories("your path here");
subFiles = System.IO.Directory.GetFiles("your path here");
VBでも、SOで同様の問題を解決したのはそれほど前のことではありません。これが 質問 です。
使用 - System.IO.Directory
クラスと そのメソッド