Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将网络文件复制到驱动器_C# - Fatal编程技术网

C# 将网络文件复制到驱动器

C# 将网络文件复制到驱动器,c#,C#,我试图将文件从nas复制到驱动器,但遇到一个错误,指出“目标文件”c:\test“是一个目录,而不是一个文件”。我也看过类似的问题(特别是一个),但我仍然不知道我错在哪里!我的复制操作代码为 File.Copy(CL, dest, false); 当CL等于循环中的“当前位置”(文件在\\\\\\domain\music\file中的位置)和dest=@“c:\test”与命令行上的copy或xcopy不同,您必须在file.copy>中指定目标文件的全名(源、目标、覆盖)。要从源文件和目标

我试图将文件从nas复制到驱动器,但遇到一个错误,指出“目标文件
”c:\test“
是一个目录,而不是一个文件”。我也看过类似的问题(特别是一个),但我仍然不知道我错在哪里!我的复制操作代码为

File.Copy(CL, dest, false); 

CL
等于循环中的“当前位置”(文件在
\\\\\\domain\music\file
中的位置)和
dest=@“c:\test”

与命令行上的
copy
xcopy
不同,您必须在
file.copy>中指定目标文件的全名(源、目标、覆盖)
。要从源文件和目标目录生成目标文件名,请使用

Path.Combine(destDir, Path.GetFileName(sourceFile))
总之,使用变量名:

File.Copy(CL, Path.Combine(dest, Path.GetFileName(CL)), false); 

您需要在目标路径中包含文件名

你可以通过写作来做到这一点

Path.Combine(dest, Path.GetFileName(source))

此外,CL看起来不像一个文件,它似乎是一个目录

请在声明CL、dest等的地方发布更多代码。请尝试
c:test.txt
(或您正在复制的文件的任何扩展名).
c:\test
确实是一个目录。@MusiGenesis:Huh?您如何识别它实际上是一个目录?它可能是,也可能不是;好吧,文件在Windows中不需要有扩展名,是吗?@Piskvor:the“\”
c:
之后就是目录。
c:test
表示它是
c:
目录中名为
test
的无扩展名文件。@MusiGenesis:Hmm,现在我很困惑。我一直以为
c:\
意味着驱动器的根目录
c:
c:\test
是指
c:\
中的文件或目录,
c:\test\
是指
c:\
中的目录。不过我可能错了——我已经有一段时间没有做Windows编程了……赶紧去检查他的假设