誰かがこれを行うためのよりクリーンな方法を知っているのだろうかと思っていました。私は、ファイルを含むすべての入力ディレクトリを一覧表示する私のプログラムのセクションを持っています。ディレクトリ内のすべてのサブディレクトリとファイルを一覧表示する
しかし、これを行うには、手動で各入力ディレクトリを変数として保存し、これらを検索のターゲットとして使用します。
これを行うにはよりクリーンな方法があるのでしょうか?その後、ディレクトリDate
、If FolderName == "Input"
でスタート
- 無い場合、
InputSubs
内の各フォルダの配列InputSubs
- 内のすべてのサブフォルダを格納します。
例えば、私は現時点では私の頭の中で持っている擬似コードがありますサブフォルダが
InputSub
に含まれ、ファイルが含まれていない場合は、InputSubs
次へ進む InputSubs
にサブディレクトリが含まれている場合は、すべてのサブディレクトリを配列InputSubs2
およびm- 次へのオベ
InputSubs
が配列InputFiles
- 繰り返し
InputSubs
プロセスに文字列としてファイル、店舗DirPath
とFileName
が含まれている場合InputSubs2
のための入力フォルダが行く最も深い2つのディレクトリです。
入力フォルダ構造の例は、添付イメージにあります。
次のように私は現在使用のコードの例です。
ListBox1.Items.Clear();
if (Directory.GetFiles(SalesInputFilePath + ResourceDetails.InputFolders(FormDMM, EH, ObjApp, Modules, "AustraliaFolder")).Length != 0)
{
ListBox1.Items.Add(Directory.GetFiles(SalesInputFilePath + ResourceDetails.InputFolders(FormDMM, EH, ObjApp, Modules, "AustraliaFolder"))[0]);
}
if (Directory.GetFiles(SalesInputFilePath + ResourceDetails.InputFolders(FormDMM, EH, ObjApp, Modules, "DE1Folder")).Length != 0)
{
ListBox1.Items.Add(Directory.GetFiles(SalesInputFilePath + ResourceDetails.InputFolders(FormDMM, EH, ObjApp, Modules, "DE1Folder"))[0]);
}
if (Directory.GetFiles(SalesInputFilePath + ResourceDetails.InputFolders(FormDMM, EH, ObjApp, Modules, "PL1Folder")).Length != 0)
{
ListBox1.Items.Add(Directory.GetFiles(SalesInputFilePath + ResourceDetails.InputFolders(FormDMM, EH, ObjApp, Modules, "PL1Folder"))[0]);
}
if (Directory.GetFiles(SalesInputFilePath + ResourceDetails.InputFolders(FormDMM, EH, ObjApp, Modules, "EuropeFolder")).Length != 0)
{
ListBox1.Items.Add(Directory.GetFiles(SalesInputFilePath + ResourceDetails.InputFolders(FormDMM, EH, ObjApp, Modules, "EuropeFolder"))[0]);
}
if (Directory.GetFiles(SalesInputFilePath + ResourceDetails.InputFolders(FormDMM, EH, ObjApp, Modules, "fr1Folder")).Length != 0)
{
ListBox1.Items.Add(Directory.GetFiles(SalesInputFilePath + ResourceDetails.InputFolders(FormDMM, EH, ObjApp, Modules, "fr1Folder"))[0]);
}
if (Directory.GetFiles(SalesInputFilePath + ResourceDetails.InputFolders(FormDMM, EH, ObjApp, Modules, "FranceFolder")).Length != 0)
{
ListBox1.Items.Add(Directory.GetFiles(SalesInputFilePath + ResourceDetails.InputFolders(FormDMM, EH, ObjApp, Modules, "FranceFolder"))[0]);
}
if (Directory.GetFiles(SalesInputFilePath + ResourceDetails.InputFolders(FormDMM, EH, ObjApp, Modules, "HKFolder")).Length != 0)
{
ListBox1.Items.Add(Directory.GetFiles(SalesInputFilePath + ResourceDetails.InputFolders(FormDMM, EH, ObjApp, Modules, "HKFolder"))[0]);
}
if (Directory.GetFiles(SalesInputFilePath + ResourceDetails.InputFolders(FormDMM, EH, ObjApp, Modules, "UKFolder")).Length != 0)
{
ListBox1.Items.Add(Directory.GetFiles(SalesInputFilePath + ResourceDetails.InputFolders(FormDMM, EH, ObjApp, Modules, "UKFolder"))[0]);
}
私は以上の物事を複雑にし、私の頭からの擬似コードよりも、それを行うには簡単に、または少なくともより効率的な方法があったかと思いまし避けられない傾向があります。
ありがとうございます。
に興味があり、最終的な結果はどのようなものですが含まれているすべてのディレクトリ名を返すのだろうか?ツリービューで表示できるすべてのファイル/すべてのサブフォルダ/両方/階層構造のリスト?あなたのスクリーンショットに基づいていくつかのサンプル出力を提供してください。 –
「再帰的」を試してください。 – MichaelMao
本質的に私はフォルダ "入力"またはそのサブフォルダの1つの中に存在するファイルのフルパスとファイル名を入力するリストボックスを探しています。 – DDuffy