在File.Copy期间找不到路径的一部分

时间:2013-07-04 02:43:34

标签: vb.net file-copying

我正在尝试将文件复制到另一个目录,但我收到此错误

  

System.IO.DirectoryNotFoundException:找不到部分内容   路径'C:\ Documents and   设置\(我的用户名)\ Desktop \ Source_Folder \ File_1.xlsx'。

但File_1.xlsx存在于我桌面上的Source_Folder文件夹中。那我为什么会收到这个错误?

这是我的代码

    Dim path_orig As String = "C:\Documents and Settings\(my username)\Desktop\Source_Folder\"
    Dim oldFile As String = System.IO.Path.Combine(path_orig, filename)
    Dim path_new As String = Server.MapPath("~") & "\Destination_Folder\"
    Dim newFile As String = System.IO.Path.Combine(path_new, filename)
    File.Copy(oldFile, newFile, True)

* filename是一个变量,在本例中是“File_1.xlsx”

1 个答案:

答案 0 :(得分:3)

不要硬编码Documents and Settings。它会因操作系统而改变。请改用:

Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "Source_Folder")

此外,如果您在Web应用程序中运行此操作,则可能会遇到权限问题。更改存储文件的位置和/或更改运行应用程序池的用户和/或授予应用程序池用户对该文件夹的权限。