想要使用VB.net中的Button将文件从一个位置传输到另一位置

时间:2019-01-17 09:24:48

标签: vb.net

我在服务器上有一个Excel文件(例如xyz.xlsx),但想获取该文件并保存在本地桌面上,只要我按窗体上显示的“移动”按钮即可。那该怎么做。我现在正在使用Visual Studio 2017

1 个答案:

答案 0 :(得分:1)

您有两个简单的选择。

如果要作为培训练习来进行此操作,请查看System.IO类。

System.IO.File.Move(source$, destination$) will suffice.

您可以通过一些错误检查来改善这一点,例如

System.IO.Directory.Exists(sourcePath$)
System.IO.Directory.Exists(destPath$)

然后,您可以随意使用字符串格式和错误处理。

如果您要做的是全部,请复制一个文件,这就是您的整个软件,我建议您改用CMD进行。

如果需要,可以从VB调用相同的方法。 Process.Start(“ ROBOCOPY”&source $&“”&destination $&“”&flags)

这样做的好处是它是与主代码分开的过程,这意味着您可以长时间保留很大的文件复制而无需挂起自己的代码。

''' <summary>
''' Copies the file at destination Source to the folder DestinationPath (and creates the folder if it doesn't exist)
''' </summary>
''' <param name="Source">Format C:\Users\username\documents\randomstuff\unnecessaryfolder\newfolder\myfile.txt</param>
''' <param name="DestinationPath">Format (and Default path) C:\Users\username\Desktop\ </param>
Public Sub MoveFile(Source As String, DestinationPath As String)
    If DestinationPath = "" Then
        DestinationPath = "C:\Users\" & My.User.Name & "\Desktop\" 'default path
    End If
    Dim FileName
    Dim src() As String = Source.Split("\")
    FileName = src(src.Count - 1) 'returns the name of the file in the full path
    Try
        If Not IO.File.Exists(Source) Then Throw New Exception("Wrong file, you plonka!")
        If Not IO.Directory.Exists(DestinationPath) Then IO.Directory.CreateDirectory(DestinationPath)
        IO.File.Copy(Source, DestinationPath & FileName)
    Catch ex As Exception
        Throw ex
    End Try
End Sub