[英]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.