[英]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.