我想確定某些文件夾的完整路徑。在我的數組中,我只擁有這些文件夾的名稱,但是當我的應用程序安裝在另一個用戶的機器上時,我的程序必須能夠確定這些文件夾的完整路徑。如何確定命名文件夾的完整路徑?
如何獲取完整路徑?
我想確定某些文件夾的完整路徑。在我的數組中,我只擁有這些文件夾的名稱,但是當我的應用程序安裝在另一個用戶的機器上時,我的程序必須能夠確定這些文件夾的完整路徑。如何確定命名文件夾的完整路徑?
如何獲取完整路徑?
你的意思是我的文檔文件夾和其他人呢?從你的問題來看,這並不明顯。
我的文檔文件夾是:
Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)
和特殊系統文件夾的其餘部分可以以類似的方式進行檢索。
通過在其他路徑前加前綴。哪個路徑取決於您的應用程序。
string path = ...
string fullPath = System.IO.Path.Combine(path, folderNames[i]);
你可以看看Environment.GetFolderPath(...)
FileInfo.FullName,如果你是幸運的,構造就會發現你的文件以某種方式(如當前的工作目錄)。
你可以檢查方法Path.GetFullPath
,它可能對你正在嘗試做什麼有用。
絕對最簡單。請注意,它使用*當前路徑*,不一定是可執行文件運行的路徑(而大多數情況下,它們都是相同的)。 – Abel 2010-01-11 13:17:17
聽起來對我來說,你的意思實際上是當前路徑加上另一條路徑。即,假設您的應用程序安裝在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。
你能描述一下你正在存儲的文件夾名稱的格式,以及你期望他們相對於什麼? – 2010-01-11 13:07:30