如何复制在同一复制进度对话框中全部显示的多个文件

时间:2018-11-16 09:56:44

标签: vb.net copying system.io.file

我创建了多驱动器复印机。发生的情况是所有可移动驱动器都在列表框中列出(lstDrives) 那么我要复制到驱动器的文件夹的来源是(txtBrowseFolder.Text)

它遍历驱动器列表并复制到每个驱动器。 现在我的问题是,由于这是一个循环,因此需要花一些时间来复制一个驱动器, 但我希望它会使用相同的复制对话框一次复制所有内容;显示要复制的每个项目的所有复制进度。

下面是我的代码:

Private Sub cmdCopyDrives_Click(sender As Object, e As EventArgs) Handles cmdCopyDrives.Click
    Dim sDrive As String
    strSource = txtBrowseFolder.Text

    Dim d As Integer

    For d = 0 To lstDrives.Items.Count - 1
        sDrive = lstDrives.Items(d).ToString

        My.Computer.FileSystem.CopyDirectory(strSource, sDrive, FileIO.UIOption.AllDialogs, FileIO.UICancelOption.DoNothing)
    Next
End Sub

1 个答案:

答案 0 :(得分:0)

看起来确实复制了所有驱动器。除非您是“一次全部”,而不是一条代码行。

要显示进度,请使用ProgressBar控件。您知道要处理的驱动器总数(lstDrives.Items.Count),因此可以在For ... Next循环中的Next位置之前更新条。