基本上我正在编写一个程序,允许用户根据一组工作站选择要通过网络复制的文件或目录,然后键入要复制这些文件/目录的位置。< / p>
我接近完成我认为但是我遇到了My.Computer.FileSystem.CopyFile()方法的问题。我事先检查是否要复制用户选择的项目是文件或目录,但是如果用户输入要复制到的文件的目录,我会收到错误,告诉我&#34;给定的文件路径以目录分隔符结束。&#34;,即使它是DESTINATION位置错误输出。如果指定的目录没有文件名,我需要能够将文件复制到目录。
我尝试使用Trim函数并将名称复制到目标路径的末尾,但我很难获得源文件的文件名。
有什么想法吗?
这里是我的fileCopy函数远的代码 -
If (pushFileSelectCheckBox1.Enabled) Then
For Each item As String In stations
copyTo = Path.Combine(copyTo, stations([i].ToString))
copyToLoc = copyTo.ToString
copyToLoc = Path.Combine(copyTo, pushLocationBox1.ToString.Remove(0, 36))
If Directory.Exists(pushFrom1) Then
If (System.IO.Directory.Exists(copyToLoc)) Then
My.Computer.FileSystem.CopyDirectory(pushFrom1, copyToLoc, True)
LogOutput("Directory 1 copied.")
Else
Directory.CreateDirectory(copyToLoc)
LogOutput("Directory created.")
My.Computer.FileSystem.CopyDirectory(pushFrom1, copyToLoc, True)
LogOutput("Directory 1 copied.")
End If
ElseIf File.Exists(pushFrom1) Then
If (System.IO.Directory.Exists(copyToLoc)) Then
My.Computer.FileSystem.CopyFile(pushFrom1, copyToLoc, True)
LogOutput("File 1 copied.")
Else
Directory.CreateDirectory(copyToLoc)
LogOutput("Directory created.")
My.Computer.FileSystem.CopyFile(pushFrom1, copyToLoc, True)
LogOutput("File 1 copied.")
End If
Else
MsgBox("Chosen file, or whatever, is neither a file nor a directory. What did you do?!?!", MsgBoxStyle.Critical, "Umm....")
End If
i += 1
Next
i = 0
End If
提前致谢。
答案 0 :(得分:2)
使用Path.GetFileName从pushFrom变量中获取文件名,并将其附加到copyToLoc的末尾。 CopyFile的第二个参数需要以文件名结尾,而不仅仅是路径。