早上好,我应该解决这个问题。 file.move在我的电脑上找到一个本地路径。 如果我不得不将它移动到另一台电脑,这将无法正常工作,因为路径不同。 有一种输入唯一路径的方法: 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");
}
答案 0 :(得分:0)
不确定您的错误消息是什么,但我注意到了一些错误。
第一个错误是这一行:
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目录,而不是稍后移动到那里,但我再次猜测有这个原因。
如果这不起作用,请提供错误消息并准确告诉我们您要做的事情。
答案 1 :(得分:0)
此脚本仅适用于我的电脑本地。
如果你想在另一台电脑上导入这个功能是行不通的,因为可能不会调用其他电脑"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#,你会发现它们是第一批武器。