2014-10-02 113 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)