Alle Dateien eines Ordners Umbenennen

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von Prometheus.

    Alle Dateien eines Ordners Umbenennen

    Hallo zusammen,
    Ich habe folgendes vor, ich will mit meinem Programm alle Dateien die verschiedene Namen haben umbenennen.
    Zum Beispiel:
    Im Ordner Bilder befinden sich 5 Dateien [ ABC, ABCD, ABCDE, ABCDEF, ABCDEFG ]
    Nun benutzte ich mein Programm wähle den Ordner und die Dateien sollen so [ 0, 1, 2, 3, 4 ] umbenannt werden.
    Mein bisheriger Code lautet:

    VB.NET-Quellcode

    1. Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
    2. Dim zahl As Integer = Label6.Text 'In Label6 steht die Anzahl der Dateien im gewählten Verzeichnis
    3. ListBox3.Items.Add("Vorgang wird gestartet")
    4. For i = 0 To zahl
    5. For Each file As String In My.Computer.FileSystem.GetFiles(Label7.Text) 'In Label7 steht der Verzeichnis Pfad
    6. Dim ex As String = My.Computer.FileSystem.GetFileInfo(file).Extension
    7. Dim err As String = My.Computer.FileSystem.FileExists(file)
    8. If err = True Then 'Wenn ich True auf False stelle kommt ein Error das die Datei 0.* schon existiert
    9. Label9.Text = Label9.Text + +1 'Label9 gibt nur die anzahl der aufgetretenen Fehler an
    10. ListBox3.Items.Add("- Beim umbenennen von " & file & ex & " ist ein fehler aufgetretten!")
    11. Else
    12. My.Computer.FileSystem.RenameFile(file, i & ex)
    13. ListBox3.Items.Add("- Die Datei " & file & ex & " wurde umbenannt in " & i & ex)
    14. End If
    15. Next
    16. Next
    17. ListBox3.Items.Add("Vorgang Beendet")
    18. End Sub


    Könnt ihr mir helfen den Fehler zu finden oder eine andere Möglichkeit verraten :rolleyes: da ich total auf dem Schlauch stehe ^^
    Hallo,

    hier eine Lösung, die weiter helfen könnte.

    VB.NET-Quellcode

    1. Try
    2. Dim browser As New FolderBrowserDialog
    3. Dim pfad As String = Nothing
    4. browser.ShowDialog() 'Fenster für Pfad auswählen
    5. pfad = browser.SelectedPath 'Pfad in Variable speichern
    6. Dim di As New DirectoryInfo(pfad)
    7. Dim fl() As FileInfo
    8. fl = di.GetFiles() 'FileInfo- Array mit allen Files aus dem gewählten Ordner füllen
    9. For i As Integer = 0 To fl.Length - 1 'Alle Files durchlaufen
    10. If File.Exists(fl(i).FullName) Then
    11. 'Neuen Pfad + Dateinamen generieren. Also: GewählterPfad/nummer.extension
    12. Dim newFileName As String = Path.Combine(fl(i).DirectoryName, i & "." & fl(i).Extension)
    13. fl(i).MoveTo(newFileName) 'Datei "umbenennen"
    14. End If
    15. Next
    16. Catch ex As Exception
    17. MessageBox.Show(ex.Message)
    18. End Try
    "Wenn jemand in einem Betrieb unverzichtbar ist, dann ist dieser Betrieb falsch organisiert." - Roberto Niederer

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „milaim“ ()

    Vielen Dank milaim der Code hat mir sehr geholfen :thumbsup: habe ihn mir jetzt ein bissel zurecht geschrieben und er funktioniert prima :D
    Was mich jedoch noch interessiert ist ob dies auch mit Buchstaben funktionieren könnte d.h. die ersten 26 Buchstaben A-Z ohne (Ö, Ä, Ü) stehen einzeln als Dateiname und nach den 26 wird es dann zu AA, AB, AC u.s.w BA, BB, BC...... oder würde das einen Seiten langen Code erfordern?
    hi, freut mich dass es dir geholfen hat.
    das andere problem, das kön t ich mir mit chars und deren ascii werten vorstellen, dass es gelöst werden kann.
    bin grad nicht am pc deswegen kann ich grad nicht helfen.. später vielleicht

    milaim
    "Wenn jemand in einem Betrieb unverzichtbar ist, dann ist dieser Betrieb falsch organisiert." - Roberto Niederer