Kopieren mit Progressanzeige inkl. Dateiname und Pfad

    • VB.NET

      Kopieren mit Progressanzeige inkl. Dateiname und Pfad

      Controls

      1 x Button: mit dem namen "Button1"
      1 x Progressbar: mit dem namen "Progressbar1"
      3 x Label: mit dem namen " Label1, Label2, Label3"
      1 x Verzeichnis in C: mit dem namen "test" ' oder du eanderst es wie du willst
      1 x Groupbox1 (optional, schaut eben etwas besser aus als ohne)

      VB.NET-Quellcode

      1. Public Class Form1
      2. Dim d As Integer ' datein im verzeichnis
      3. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
      4. Dim verzeichnis As String = "c:\test\" ' vom kopier verzeichnis
      5. Dim insverzeichnis As String = Application.StartupPath & "/" & Mid(verzeichnis, 4, 4) & "/" ' kopiert ins verzeichnis "test" das im programverzeichnis ist
      6. IO.Directory.CreateDirectory(Application.StartupPath & "/" & Mid(verzeichnis, 4, 4)) ' erzeugt verzeichnis im program verzeichnis mit dem selben namen wie standverzeichnis
      7. For Each c As String In IO.Directory.GetFiles(verzeichnis, "*.*") ' zeahlt die datein damit ich ein echtes progressanzeige kriege
      8. d = d + 1
      9. Next c
      10. ' hier startet der kopier vorgang und die progress anzeige
      11. Try
      12. For Each s As String In IO.Directory.GetFiles(verzeichnis, "*.*") ' kopier vorgang
      13. For Each i As String In IO.Directory.GetFiles(verzeichnis, "*.*") ' pfad und name der datei anzeige
      14. Label1.Text = i
      15. Label1.Refresh()
      16. Next i
      17. Dim fi As New IO.FileInfo(s)
      18. IO.File.Copy(s, insverzeichnis & fi.Name)
      19. ProgressBar1.Value = ProgressBar1.Value + ((100 / d) - 0.5).ToString("00") ' ausrechnung der prozente (bis ca. 4% fehlhaft) wird jedoch unten koriegiert
      20. Label2.Text = ProgressBar1.Value
      21. Label2.Refresh()
      22. Next s
      23. ProgressBar1.Value = ProgressBar1.Maximum ' prozent auf 100% gestellt da es sein kann dass eine nicht mit 100 dividierte zahl von datein geben kann und so koennte die maximum.value ueberschritten werden und due kriegst ein error
      24. Label2.Text = ProgressBar1.Value ' auf 100% gesetzt
      25. Catch ex As Exception
      26. MsgBox("verzeichnis existiert schon")
      27. End Try
      28. End Sub
      29. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
      30. d = 0
      31. End Sub
      32. End Class


      Gr - miko
      Bilder
      • copy.JPG

        11,46 kB, 290×185, 289 mal angesehen
      Schäm dich nicht "Zu fragen", schäm dich "Nicht zu wissen". ?(