如何确定命名文件夹的完整路径?

时间:2010-01-11 13:01:28

标签: c# .net

我想确定某些文件夹的完整路径。在我的数组中,我只有文件夹的名称,但是当我的应用程序将安装在另一个用户的计算机上时,我的程序必须能够确定这些文件夹的完整路径。

如何获得完整路径?

5 个答案:

答案 0 :(得分:5)

您可以查看方法Path.GetFullPath,它可能对您尝试做的事情有用。

Path.GetFullPath Method

答案 1 :(得分:4)

通过为其添加另一个路径前缀。哪条路径取决于您的申请。

string path = ...
string fullPath = System.IO.Path.Combine(path, folderNames[i]);

您可以查看Environment.GetFolderPath(...)

答案 2 :(得分:4)

您的意思是“我的文档”文件夹和其他文件夹吗?从你的问题来看,这对我来说并不明显。

我的文档文件夹是:

 Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)

可以以类似的方式检索其余的特殊系统文件夹。

答案 3 :(得分:3)

听起来你实际上是指当前路径加上一条额外的路径。即,假设您的应用程序安装在c:\installations中,并且您需要resource\en-US的相对路径,您希望找到c:\installations\resource\en-US

通常我会去获取current path,但在Windows中,可以启动应用程序,就好像它是从不同的路径执行一样。获取当前应用程序路径(安装位置)的万无一失的方法如下:

// gets the path of the current executing executable: your program
string path = Assembly.GetExecutingAssembly().Location;

// transform it into a real path...
FileInfo info = new FileInfo(path);

// ...to make it easier to retrieve the directory part
string currentPath = info.Directory.FullName;

现在获得新路径变得微不足道了。

string someRelativePath = @"reource\en-US";
string someFullPath = Path.Combine(currentPath, someRelativePath);

我知道,它看起来有点做作,但使用current path更安全。

答案 4 :(得分:2)

FileInfo.FullName,如果你很幸运,构造函数会以某种方式找到你的文件(例如当前的工作目录)。