2

複数のディレクトリで「abc.txt」というファイルを検索しています。これらのディレクトリは、次のようなコンマ区切りの値です。

string paths= 'C:/hello,D:/Hello';

上記のカンマ区切りのディレクトリを使用して「abc.txt」を検索するにはどうすればよいですか?

ありがとう。

4

7 に答える 7

3

DirectoryInfoカンマで文字列を分割してから、クラスを使用して各ディレクトリを順番に検索する必要があります。

http://msdn.microsoft.com/en-us/library/ms143327.aspx

string paths= 'C:/hello,D:/Hello';
string[] pathList = paths.Split(',');
string searchPattern = "abc.txt";
foreach (string path in pathList)
{
    DirectoryInfo di = new DirectoryInfo(path);
    FileInfo[] files = di.GetFiles(searchPattern, SearchOption.TopDirectoryOnly);
}
于 2012-06-29T06:26:01.033 に答える
1
  1. 文字列をカンマで分割する必要があります。

文字列パス='C:/ hello、D:/ Hello';

 string[] words = paths.Split(',');
  1. 次に、各文字列トークンからディレクトリ文字を取得する必要があります

    foreach(単語の文字列){

string directoryName = word.Split(':/')[0];

string searchString = word.Split(':/')[1];

}

次に、ディレクトリを検索するための検索ロジックを記述します。

于 2012-06-29T06:33:39.523 に答える
1

カンマに基づいて文字列を分割します(ディレクトリ名にカンマが含まれていないことを願っています)

string[] directories = paths.Split(',');
var files = new List<string>();
foreach (string str in directories)
     {
       DirectoryInfo d = new DirectoryInfo(str);
       files.AddRange(Directory.GetFiles(d.FullName, "abc.txt", SearchOption.AllDirectories));
     }

ファイルには、完全なパスを持つディレクトリ内のすべてのabc.txtファイルが含まれます

于 2012-06-29T06:35:00.130 に答える
1

ファイル名を完全に制御できない限り、コンマ区切りのリストを使用することはお勧めしません(複数の場所を検索する必要があるため、そうしないと思います)。

ファイル名には「、」、「;」などの文字を含めることができることに注意してください。これは、リストを分離するための明白な選択です。パイプ文字('|')を使用してリストを作成することをお勧めしますが、それは読み取り可能であり、ファイル名の一部にすることはできません。

ただし、ファイル名を制御できる場合は、他の人がすでに提案しているように、単にsplitを使用できます。

于 2012-06-29T06:36:07.523 に答える
0

ファイル名またはディレクトリ名にコンマがないと仮定します

string paths= @"C:/hello,D:/Hello";

string multipaths = paths.Split(',');

foreach (string str in multipaths)
{
    string filepath = Path.Combine(str, "abc.txt");

   //Do what you want from these files.
}
于 2012-06-29T06:25:07.023 に答える
0

そのために分割方法を使用できます

    string paths= 'C:/hello,D:/Hello';
    string[] words = paths.Split(',');
    foreach (string word in words)
    {
        SearchInDirectory(word)
    }
于 2012-06-29T06:25:59.653 に答える
0

フォルダ文字列を分割し、そのディレクトリを検索します

フォルダとファイルを検索するには、こちらを ご覧くださいhttp://msdn.microsoft.com/en-us/library/dd997370.aspx

于 2012-06-29T06:27:56.027 に答える