0

1 つのフォルダー名を除いて、フル パスがわかっているテキスト ファイルを読み取る必要があります。私は使うだろう

string readText = File.ReadAllText(path + "\\" + unknownFolderName + "\\" + itemName);

しかし、最初に、unknownFolderNameを見つけて、ファイルのフル パスに到達する必要があります。pathの下にフォルダーが 1 つだけあります。名前を知らなくても、このフォルダーの下に入るだけです。これを最も簡単な方法で達成するにはどうすればよいですか?

4

4 に答える 4

3

Directory.GetDirectories()を使用してみてください。そのフォルダーの下にフォルダーが 1 つしかないことが保証されている場合は、次の方法で実行できるはずです。

string unknownPath = Directory.GetDirectories(path)[0];
//Now instead of this: [ string readText = File.ReadAllText(path + "\\" + unknownFolderName + "\\" + itemName) ], do this:
string readText = File.ReadAllText(unknownPath + "\\" + itemName);

それはそれを行う必要があります。それがうまくいくかどうか教えてください!

于 2013-02-27T09:00:13.930 に答える
1

Directory.GetDirectories文字列の配列を返す静的メソッド(ドキュメント)を使用できます-メソッドに渡したパス内のディレクトリへのフルパス。したがって、次のようなことを試してください(少なくとも1つのディレクトリがあり、最初のディレクトリを使用したい場合):

string readText = File.ReadAllText(Directory.GetDirectories(path)[0] + "\\" + itemName);
于 2013-02-27T09:00:11.247 に答える
0

複数のフォルダがあり、どれがどれかわからない場合:

次の例を見てください。Windows次のパスで探しています。C:\_____\System32\notepad.exe

string path = @"C:\";
var itemName = @"System32\notepad.exe";

var directories = Directory.GetDirectories(path);

foreach (var dir in directories) {
    string fullPath = Path.Combine(dir, itemName);

    //If you found the correct directory!
    if (File.Exists(fullPath)) {
        Console.WriteLine(fullPath);
    }
}
于 2013-02-27T09:00:20.367 に答える
0

これを使用して、ディレクトリの下のフォルダー名を取得します。

http://www.developerfusion.com/code/4359/listing-files-folders-in-a-directory/

于 2013-02-27T09:01:31.197 に答える