我想确定某些文件夹的完整路径。在我的数组中,我只有文件夹的名称,但是当我的应用程序将安装在另一个用户的计算机上时,我的程序必须能够确定这些文件夹的完整路径。
如何获得完整路径?
答案 0 :(得分:5)
您可以查看方法Path.GetFullPath
,它可能对您尝试做的事情有用。
答案 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,如果你很幸运,构造函数会以某种方式找到你的文件(例如当前的工作目录)。