[英]How to get actual path from string in c#
嗨,我面臨在File.Copy()方法中傳遞路徑的問題。 在這里,我創建了一個字符串dest。 當我在File.copy()中傳遞它時,它使用“ \\”雙斜杠。 因此,我收到了非法字符的錯誤。 請調查一下。
string dest = (@"\" + Environment.MachineName +@"\"+ Path.Replace(@"\\",@"\")).Replace(":", "$"); //the value get -"pt-LTP-109\\C$\\Temp\\192.168.0.205\\fileFolder"
dest = dest.Replace("\\\\", @"\") +"\\"+ "filename.txt"; // the value get -"\\pt-LTP-109\\C$\\Temp\\192.168.0.205\\fileFolder\\filename.txt"
dest = ("\"").ToString()+dest+"\""; //the value get- "\"\\pt-LTP-109\\C$\\Temp\\192.168.0.205\\fileFolder\\filename.txt\""
File.Copy(source, dest, true);`
這是做一個非常簡單的事情的非常復雜的方法...要將普通路徑轉換為UNC路徑,您只需要做兩件事:
替換:
用$
(你正在做正確)。
在路徑前加上兩個反斜杠和計算機名稱。
您的代碼可以簡化為:
string dest = System.IO.Path.Combine(@"\\" + Environment.MachineName, Path.Replace(":", "$"), "filename.txt");
嘗試
Path.GetFullPath(dest).Replace(@"\",@"\\");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.