获取directoryinfo对象的路径

时间:2013-11-19 17:48:19

标签: c# directoryinfo

在C#中编写一些代码,我想知道是否有办法获取directoryinfo对象的正确路径?

目前,我有一个目录,例如:

DirectoryInfo dirInfo = new DirectoryInfo(pathToDirectory);

问题是如果我想获取该特定dirInfo对象的路径,它总是返回调试路径(bin文件夹)。如果原始dirInfo对象引用D:\testDirectory路径中的目录,那么我想要一种方法在代码中的其他位置再次获取该路径,而不是获取\bin\debug\testDirectory

有没有办法做到这一点?

目前我正在尝试使用Path获取dirInfo的路径:

Console.WriteLine("Path: " + Path.GetFullPath(dirInfo.ToString()));

2 个答案:

答案 0 :(得分:38)

试试这个。

string pathToDirctory = "D:\\testDirectory";
DirectoryInfo dirInfo = new DirectoryInfo(pathToDirctory);
string path = dirInfo.FullName;
Console.WriteLine(path);

答案 1 :(得分:3)

DirectoryInfo表示特定目录。创建它时,它所代表的目录取决于您提供的路径。如果你给它一个绝对路径,如c:\foo\bar\baz\bat,那就是你得到的目录。另一方面,如果您为其提供 relative 路径,例如foo\bar\baz\bat,则路径相对于进程'当前工作目录。默认情况下,它是从生成当前进程的进程继承的。 Visual Studio启动调试会话,并将正在调试的进程的CWD设置为其bin目录。因此,如果您创建DirectoryInfo并为其指定testDirectory之类的路径,则会得到DirectoryInfo [project-root]\bin\Debug\testDirectory。{/ p>

如果需要绝对路径,则必须指定该绝对路径。没有任何捷径。