在VB.NET中复制文件

时间:2010-03-06 00:18:34

标签: vb.net

我正在尝试创建类似安装程序的应用程序。这是它应该做的:在C:中创建一个目录并将其命名为batch。然后从文件夹中复制文件并将其移动到C:\ batch目录。但复制文件不起作用。

如果确切的目录不适用于所有目录,我该如何将确切的目录放在这里?我该怎么办?如果要复制的文件来自:E:\Documents and Settings\Rew\My Documents\Visual Studio 2008\Projects\batch\batch

我希望它具有普遍性。因此,无论文件位于何处,它都可以随时复制它,无论它位于何处。

以某种方式创建目录。

Dim FileToCopy As String
Dim NewCopy As String
Try
    Directory.CreateDirectory("C:\Batch")

    FileToCopy = "\batch\batch\ipconfigrenew.bat"
    FileToCopy = "\batch\batch\ipconfigrelease.bat"
    FileToCopy = "\batch\batch\ipconfigflushdns.bat"
    NewCopy = "C:\Batch"

    If System.IO.File.Exists(FileToCopy) = True Then
        System.IO.File.Copy(FileToCopy, NewCopy)
        MsgBox("File Copied")
    End If
Catch
End Try
MsgBox("Done")

1 个答案:

答案 0 :(得分:2)

首先,复制时FileToCopy中唯一的值是最后一个值。我在解析问题时难以弄清楚你需要什么,但我会先这样做:

    Dim FileToCopy(3) As String
    FileToCopy(0) = "\batch\batch\ipconfigrenew.bat"
    FileToCopy(1) = "\batch\batch\ipconfigrelease.bat"
    FileToCopy(2) = "\batch\batch\ipconfigflushdns.bat"
    Dim NewCopy As String = "C:\Batch"
    Dim s As String
    For Each s In FileToCopy
        If System.IO.File.Exists(s) = True Then
            System.IO.File.Copy(s, NewCopy)
            MsgBox("File Copied")
        End If
    Next

接下来,我将决定是否需要以更通用的方式编写它。