2014-10-02 130 views
-1

我正在尝试制作一个备份程序来复制目录中的文件以及在整个复制过程中运行进度条。我正在使用下面的代码。它看起来像代码只复制一个实际的文件,而不是目录中的一切。我如何让下面的代码复制目录中的所有内容?vb.net复制文件夹和进度条的内容

Private Sub backupL01() 
     Dim xNewLocataion = My.Settings.dest 
     If Not Directory.Exists(xNewLocataion) Then 
      Directory.CreateDirectory(xNewLocataion) 
     End If 
     Dim xFilesCount = Directory.GetFiles(My.Settings.source).Length 
     Dim xFilesTransferred As Integer = 0 

     For Each xFiles In Directory.GetFiles(My.Settings.source) 

      File.Copy(xFiles, xNewLocataion & "\" & Path.GetFileName(xFiles), True) 
      xFilesTransferred += 1 

      ProgressBar1.Value = xFilesTransferred * 100/xFilesCount 
      ProgressBar1.Update() 

      'MsgBox("Backup has been completed.", , "Backup") 
      'ProgressBar1.Value = 0 
     Next 
    End Sub 
+1

这是进度条问题,或者你有副本有问题?我的意思是,你的进度条并没有显示复制过程的正确进程? – Steve 2014-10-02 17:21:08

+0

社区服务:代码来自http://stackoverflow.com/a/15676163/11683 – GSerg 2014-10-02 17:22:15

+0

它显示副本的正确进度,但该副本只复制文件,而不复制目录中的所有文件夹和文件。所以我有一个目录有1个文件夹和1个文件,它只复制1个文件而不是所有文件 – 2014-10-02 17:23:06

回答

1

我只想用这个,这是很好的东西使用该即时信息:

Dim xNewLocataion = My.Settings.dest 
     If Not Directory.Exists(xNewLocataion) Then 
      Directory.CreateDirectory(xNewLocataion) 
     End If 
     My.Computer.FileSystem.CopyDirectory(My.Settings.source, My.Settings.dest, showUI:=FileIO.UIOption.AllDialogs) 
相关问题