我正在使用一個名爲ABC的環境變量,其值爲C:/ ABC。
在我的代碼中,我使用了@「%ABC%/ file.txt」作爲文件路徑,我在C盤上創建了一個名爲ABC的文件夾,其中包含一個名爲file.txt的文件。C#中的環境變量
但是,這不能識別環境變量。
有沒有什麼辦法可以做這個捷徑工作,或者我需要在Visual Studio中使用Environment.GetEnvironmentVariable
方法(字符串)手動讀取系統環境變量到單獨的環境變量中?
我正在使用一個名爲ABC的環境變量,其值爲C:/ ABC。
在我的代碼中,我使用了@「%ABC%/ file.txt」作爲文件路徑,我在C盤上創建了一個名爲ABC的文件夾,其中包含一個名爲file.txt的文件。C#中的環境變量
但是,這不能識別環境變量。
有沒有什麼辦法可以做這個捷徑工作,或者我需要在Visual Studio中使用Environment.GetEnvironmentVariable
方法(字符串)手動讀取系統環境變量到單獨的環境變量中?
你可以這樣做:
string path = Environment.ExpandEnvironmentVariables(@"%ABC%/file.txt");
http://msdn.microsoft.com/en-us/library/system.environment.expandenvironmentvariables.aspx
有一個恰當的名字Environment.ExpandEnvironmentVariables應該爲你做的工作。
使用Environment.ExpandEnvironmentVariables
:
string expanded = Enviroment.ExpandEnvironmentVariables(input);
嘗試
string _yourpath = Environment.ExpandEnvironmentVariables(@"%ABC%/file.txt");
你是說你所期望的C#編譯器知道'%ABC%'涉及PATH變量,應該替代的價值您? –
是的,我期待它讀取我設置的系統環境變量。 – Paddy
我想從下面的答案你可以看出情況並非如此。就我個人而言,我會發現很奇怪的行爲。 –