[英]File.Move = path?
早上好,我應該解決這個問題。 file.move在我的電腦上找到本地路徑。 如果必須將其移動到另一台PC,則將無法正常工作,因為路徑不同。 有一種輸入唯一路徑的方法:File.move(“ C:\\ Desktop \\ myfile”,“ C:\\ Desktop \\ myfolder \\ myfile”)感謝您的幫助
if (comboBox1.SelectedIndex == 0)
{
label2.Text = "Download in corso";
WebClient client = new WebClient();
string desktop = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory);
client.DownloadProgressChanged += new DownloadProgressChangedEventHandler(client_DownloadProgressChanged);
client.DownloadFileCompleted += new AsyncCompletedEventHandler(client_DownloadFileCompleted);
client.DownloadFileAsync(new Uri("http://www.homebrewsrv.altervista.org/OresteTool/trucchi/10%20in%201%20Arcade%20Collection%20EUR.rar"), desktop + "/ " + "10 in 1 Arcade Collection EUR.rar");
System.Threading.Thread.Sleep(2000);
Directory.CreateDirectory(@"C:\\Users\\orest\\Desktop\\zazza");
System.Threading.Thread.Sleep(3000);
File.Move("C: \\Users\\orest\\Desktop\\ 10 in 1 Arcade Collection EUR.rar", "C: \\Users\\orest\\Desktop\\zazza\\10 in 1 Arcade Collection EUR.rar");
}
不知道您的錯誤消息是什么,但我確實注意到一些錯誤。
第一個錯誤是此行:
Directory.CreateDirectory(@"C:\\Users\\orest\\Desktop\\zazza");
如果以@開頭的字符串告訴您不要轉義字符,則應將其更改為以下之一:
Directory.CreateDirectory("C:\\Users\\orest\\Desktop\\zazza");
要么
Directory.CreateDirectory(@"C:\Users\orest\Desktop\zazza");
那你有不必要的睡眠,但我想你知道。
System.Threading.Thread.Sleep(3000);
然后是此行,在不正確的地方有一些空格,請將其更改為:
File.Move("C:\\Users\\orest\\Desktop\\10 in 1 Arcade Collection EUR.rar", "C:\\Users\\orest\\Desktop\\zazza\\10 in 1 Arcade Collection EUR.rar");
然后它應該可以工作,或者您可以跳過轉義(\\)並只使用一個,但是在開始時需要@符號。
但是...。您正在使用DownloadFileAsync,因此您需要正確處理此問題,如果您不知道那是什么,我建議您將示例更改為以下內容:
if (comboBox1.SelectedIndex == 0)
{
label2.Text = "Download in corso";
WebClient client = new WebClient();
string desktop = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory);
client.DownloadFile("http://www.homebrewsrv.altervista.org/OresteTool/trucchi/10%20in%201%20Arcade%20Collection%20EUR.rar", desktop + "/ " + "10 in 1 Arcade Collection EUR.rar");
Directory.CreateDirectory("C:\\Users\\orest\\Desktop\\zazza");
File.Move("C:\\Users\\orest\\Desktop\\10 in 1 Arcade Collection EUR.rar", "C:\\Users\\orest\\Desktop\\zazza\\10 in 1 Arcade Collection EUR.rar");
}
這不是異步的,但您應該仔細閱讀。 您也可以直接下載到您的zazza目錄,而不是稍后再移動到該目錄,但是我想這是有一定原因的。
如果此方法不起作用,請提供錯誤消息,並告訴我們您要執行的操作。
該腳本僅在我的PC上本地工作。 如果您想在另一台PC上導入此功能將無法正常工作,因為另一台PC可能不會被稱為"C: \\\\ Users \\\\ orest \\\\ Desktop \\\\" etc ..
基本上,如果另一台PC稱為"C: \\\\ Users \\\\ mypc \\\\ Desktop \\\\" etc..ecc.
這行不通。
它會提供以下類型的唯一路徑:
File.Move ("C: \\ Desktop \\ 10 in 1 Arcade Collection EUR.rar", "C: \\ Desktop \\ zazza \\ 10 in 1 Arcade Collection EUR.rar");
我希望正確地向您解釋,原諒我的C#錯誤,您會注意到它們是第一把武器。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.