早上好,我要解决这个问题。file.move在我的pc上找到本地路径。如果我必须将它移动到另一台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");
}发布于 2017-10-29 16:36:58
不确定您的错误消息是什么,但我确实注意到了一些错误。
第一个错误是这一行:
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目录中,而不是稍后移动到那里,但我再次猜测这是有原因的。
如果这不起作用,请提供一条错误消息,并告诉我们您正在尝试执行的操作。
发布于 2017-10-29 17:27:52
此脚本只能在我的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 #,你会注意到它们是第一个武器。
https://stackoverflow.com/questions/46998071
复制相似问题