簡體   English   中英

C#Path.Combine未使用AppData位置

[英]C# Path.Combine is not using AppData location

我正在嘗試訪問AppData文件夾以根據需要創建/刪除目錄,但是使用Path.Combine產生所需路徑的一半。 這是我所擁有的:

string sPath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
string test = Path.Combine(sPath, @"\Microsoft\Windows\Start Menu\SkillControl\");

測試字符串將替換Directory.CreateDirectory ,該Directory.CreateDirectory是下一行(工作時)。 這是調試這些行的結果:

sPath: "C:\\Users\\[user]\\AppData\\Roaming"
test: "\\Microsoft\\Windows\\Start Menu\\SkillControl\\"

我期望“測試”能夠產生完整的路徑:

C:\\Users\\[User]\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\SkillControl\\

但似乎忽略了Combine函數。 誰能找出原因?

為了在詢問之前進行澄清, sPath只是我一種方法,用於確認Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)在提取正確的位置,這樣做時我得到的結果相同

Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), 
@"Microsoft\Windows\Start Menu\SkillControl\"));

您的第二條路徑是絕對路徑-它以反斜杠開頭。 該方法的行為如記錄所示

如果path2包含絕對路徑,則此方法返回path2。

只需刪除前導反斜杠,就可以了。

string sPath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
string test = Path.Combine(sPath, @"Microsoft\Windows\Start Menu\SkillControl\");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM