当我使用命令时:
FILE.copy(source path , destination path)
它只是在目标路径中执行复制 有一个文件与我想要从源路径复制的文件同名。 实际上 - 它取代了它 如何执行将自己创建文件的复制? - 我想将文件复制到空文件夹!
答案 0 :(得分:0)
在将文件复制到文件夹之前,该文件夹必须存在。所以当你这样做时:
File.Copy("d:\test\foo.txt", "d:\bar\foo.txt");
d:\bar
必须存在。如果确实存在,则有两种可能性:
foo.txt
个文件 - >在这种情况下,除非您使用this overload。内部不包含foo.txt
文件 - >现在有两个子类:
2.1。您运行程序的用户具有足够的权限来写入此文件夹 - >在这种情况下,操作成功
2.2。您运行程序的用户没有足够的权限来写入此文件夹 - >你得到一个例外(实际上你也可以得到一些其他例外,例如,如果没有足够的磁盘空间,......)
更新:
现在你已经显示了你的代码问题就在这里:
File.Copy(
Path.Combine(@dok.Letter,@"copy\Hackers.avi"),
@"C:\Users\sshap5x\Desktop",
true
);
您需要在目标中指定文件名:
File.Copy(
Path.Combine(dok.Letter, @"copy\Hackers.avi"),
Path.Combine(@"C:\Users\sshap5x\Desktop", "Hackers.avi"),
true
);
同样为了完整起见,你可能想要:
string desktopPath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
File.Copy(
Path.Combine(dok.Letter, @"copy\Hackers.avi"),
Path.Combine(desktopPath, "Hackers.avi"),
true
);
像这样,您不需要对桌面路径进行硬编码。
答案 1 :(得分:0)