Mehrere Dateien Umbennen

  • VB.NET

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Mehrere Dateien Umbennen

    Hallo Leute,

    Ich würde gerne per Openfiledialog einen Ordner wählen, und alle
    Dateien unabhängig von der Endung umbennen. Also egal ob *.jpg oder *.mp3 oder *.avi usw.
    Der Name zum Umbennen steht in meiner Textbox.
    per Button klick soll das ganze dann starten..
    Ich habe zwar schon diverse Codes gefunden, aber nichts Filetyp-unabhängiges.

    Also wenn ich meinen Ordner & Dateien wähle und ich gebe "Urlaub" ein soll das z.b so aussehen:

    Urlaub1.jpg
    Urlaub2.jpg
    Urlaub3.avi
    Urlaub4.jpg
    Urlaub5.mp3

    usw usw.

    Lg
    Rikudo
    C# Developer
    Learning C++

    VB.NET-Quellcode

    1. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    2. Using fbd As New FolderBrowserDialog
    3. If fbd.ShowDialog() = Windows.Forms.DialogResult.OK Then
    4. Dim counter As Integer = 1
    5. For Each s As String In IO.Directory.GetFiles(fbd.SelectedPath)
    6. Dim f As New IO.FileInfo(s)
    7. f.MoveTo(fbd.SelectedPath & "\" & TextBox1.Text & counter.ToString() & f.Extension)
    8. counter += 1
    9. Next
    10. End If
    11. End Using
    12. End Sub
    Also, als erstes lade ich die Dateien per Button-Click in ein Listview:
    Spoiler anzeigen

    VB.NET-Quellcode

    1. Private Sub BtnRefresh_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnRefresh.Click
    2. ListView1.Items.Clear()
    3. Dim folderInfo As New IO.DirectoryInfo("C:\Users\BlackSky\Desktop\Testdateien")
    4. Dim arrFilesInFolder() As IO.FileInfo
    5. Dim fileInFolder As IO.FileInfo
    6. Try
    7. arrFilesInFolder = folderInfo.GetFiles("*.*")
    8. For Each fileInFolder In arrFilesInFolder
    9. ListView1.Items.Add(fileInFolder.Name)
    10. Next
    11. Catch ex As Exception
    12. MsgBox("Ungültiger Pfad/Pfad existiert nicht!")
    13. End Try
    14. End Sub


    Aber wie genau ich mehrere umbenenne, da weiß ich nicht wie ich am besten anfange...
    C# Developer
    Learning C++

    Bluespide schrieb:

    VB.NET-Quellcode

    1. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    2. Using fbd As New FolderBrowserDialog
    3. If fbd.ShowDialog() = Windows.Forms.DialogResult.OK Then
    4. Dim counter As Integer = 1
    5. For Each s As String In IO.Directory.GetFiles(fbd.SelectedPath)
    6. Dim f As New IO.FileInfo(s)
    7. f.MoveTo(fbd.SelectedPath & "\" & TextBox1.Text & counter.ToString() & f.Extension)
    8. counter += 1
    9. Next
    10. End If
    11. End Using
    12. End Sub

    Ah, das funzt prima.
    nun noch ne Frage:
    Ist es möglich das als Loop zu schreiben, so das er mich bei jeder datei fragt, wie ich sie nennen will?
    z.b. per inputbox?
    C# Developer
    Learning C++
    @Bluespide

    Mit:

    VB.NET-Quellcode

    1. Dim fI() As IO.FileInfo = New IO.DirectoryInfo("d:\downloads").GetFiles()


    bekommst direkt FileInfo-Objecte.
    Die Unendlichkeit ist weit. Vor allem gegen Ende. ?(
    Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. 8o
    Mach Dir eine List(Of FileInfo), die Du mit allen relevanten Files befüllst.
    Sortiere diese Liste nach dem Datum der File-Erstellung und gib ihnen dann neue Namen.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!