2012-01-04 58 views
2

我試圖將文件從NAS複製到驅動器,並且出現錯誤,指出「目標文件"c:\test"是目錄,而不是文件」。我也看過類似的問題(特別是this),但我仍然不知道我要去哪裏錯了!我的複製操作代碼是;將網絡文件複製到驅動器

File.Copy(CL, dest, false); 

哪裏CL等於在環(該文件的位置,如\\\\domain\music\file)和dest = @"c:\test"「當前位置」。

+0

請張貼在這裏你聲明CL更多的代碼,DEST,等.. – MethodMan 2012-01-04 16:47:24

+0

嘗試'c:test.txt'(或者你正在複製的文件的擴展名)。 'c:\ test'確實是一個目錄。 – MusiGenesis 2012-01-04 16:49:07

+0

@MusiGenesis:咦?你如何認識到它實際上是一個目錄?它可能是,也可能不是; AFAIK,文件不*必須*在Windows中有擴展名,是嗎? – Piskvor 2012-01-04 16:53:10

回答

2

不像在命令行上copyxcopy,你必須在File.Copy(source, dest, overwrite)指定目標文件的全名。要建立從源文件和目標目錄中的目標文件名,使用

Path.Combine(destDir, Path.GetFileName(sourceFile)) 

總之,用你的變量名:

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

您需要在目標路徑的文件名。

你可以做到這一點通過寫

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

輝煌!它似乎工作,非常感謝你:) – Joe 2012-01-04 16:55:59

0

而且CL看起來並不像一個文件時,它似乎是一個目錄

相關問題