次のコードは、ユーザーが C# Winforms アプリケーション ウィンドウのボタンにドロップしたときに、そのフォルダーとそのフォルダー内のファイルを処理します。このコードは正常に動作します:
List<string> filepaths = new List<string>();
foreach (var s in (string[])e.Data.GetData(DataFormats.FileDrop, false))
{
if (Directory.Exists(s))
{
//Add files from folder
filepaths.AddRange(Directory.GetFiles(s));
}
else
{
//Add filepath
filepaths.Add(s);
}
}
ただし、メイン フォルダー (サブフォルダー) 内に別のフォルダーがある場合、そのサブフォルダーを検出せず、サブフォルダー内のファイルを一覧表示します。
サブフォルダの名前とサブフォルダ内のファイルも検出する方法を教えてください。
編集:このようなものは機能しますか?
string[] fileList = Directory.GetFiles(@s, "*.*", SearchOption.AllDirectories);