我试图将文件从NAS复制到驱动器,并且出现错误,指出“目标文件"c:\test"
是目录,而不是文件”。我也看过类似的问题(特别是this),但我仍然不知道我要去哪里错了!我的复制操作代码是;将网络文件复制到驱动器
File.Copy(CL, dest, false);
哪里CL
等于在环(该文件的位置,如\\\\domain\music\file
)和dest = @"c:\test"
“当前位置”。
我试图将文件从NAS复制到驱动器,并且出现错误,指出“目标文件"c:\test"
是目录,而不是文件”。我也看过类似的问题(特别是this),但我仍然不知道我要去哪里错了!我的复制操作代码是;将网络文件复制到驱动器
File.Copy(CL, dest, false);
哪里CL
等于在环(该文件的位置,如\\\\domain\music\file
)和dest = @"c:\test"
“当前位置”。
不像在命令行上copy
或xcopy
,你必须在File.Copy(source, dest, overwrite)
指定目标文件的全名。要建立从源文件和目标目录中的目标文件名,使用
Path.Combine(destDir, Path.GetFileName(sourceFile))
总之,用你的变量名:
File.Copy(CL, Path.Combine(dest, Path.GetFileName(CL)), false);
您需要在目标路径的文件名。
你可以做到这一点通过写
Path.Combine(dest, Path.GetFileName(source))
辉煌!它似乎工作,非常感谢你:) – Joe 2012-01-04 16:55:59
而且CL看起来并不像一个文件时,它似乎是一个目录
请张贴在这里你声明CL更多的代码,DEST,等.. – MethodMan 2012-01-04 16:47:24
尝试'c:test.txt'(或者你正在复制的文件的扩展名)。 'c:\ test'确实是一个目录。 – MusiGenesis 2012-01-04 16:49:07
@MusiGenesis:咦?你如何认识到它实际上是一个目录?它可能是,也可能不是; AFAIK,文件不*必须*在Windows中有扩展名,是吗? – Piskvor 2012-01-04 16:53:10