簡體   English   中英

如何從C#中的字符串獲取實際路徑

[英]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路徑,您只需要做兩件事:

  1. 替換:$ (你正在做正確)。

  2. 在路徑前加上兩個反斜杠和計算機名稱。

您的代碼可以簡化為:

string dest = System.IO.Path.Combine(@"\\" + Environment.MachineName, Path.Replace(":", "$"), "filename.txt");

嘗試

Path.GetFullPath(dest).Replace(@"\",@"\\");

暫無
暫無

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

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