我試圖將文件從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