Datei mit variablen Namen umbennen

  • Allgemein

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von ThePlexian.

    Datei mit variablen Namen umbennen

    Hi, ich will eine Datei mit einem Variablen Namen (Datum und Uhrzeit) automatisch in ein anderes Format umbenennen. Folgendes habe ich bereits gefunden, was auch funktioniert :D Nur wie benenne ich nun die Datei um?

    Dim sPath As String
    Dim sSuchmuster As String
    Dim sSearchString As String
    Dim Suchergebnis As String


    sPath = "G:\1\1\"
    sSuchmuster = "1*.txt"
    sSearchString = sPath & sSuchmuster

    Suchergebnis = Dir(sSearchString)
    If Suchergebnis = "" Then
    MsgBox "Keine Datei gefunden"
    Exit Sub
    End If
    Hallo und Willkommen im Forum,

    um eine Datei umzubennen kann man die IO.File Klasse nutzen, mit der von mir genutzten Methode Move kann man Dateien verschieben und umbennen.

    VB.NET-Quellcode

    1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    2. Dim pfad As String = "C:\vbtemp\"
    3. Dim altername As String = "Neu Textdokument.txt"
    4. Dim neuername As String = "neuer dateiname.txt"
    5. IO.File.Move(IO.Path.Combine(pfad, altername), IO.Path.Combine(pfad, neuername))
    6. End Sub


    mfG

    Derfuhr
    Willkommen im Forum. :thumbup:
    Beim nächsten Mal verwendest Du gleich die Suchfunktion. ;)
    Diesen Thread hättest Du finden sollen.
    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!
    @Derfuhr:
    Sein Problem ist aber, das altername (in deinem Bsp.) variabel ist, also immer unterschiedliche Namen hat, je nach Abspeicherungsdatum (so weit ich es verstanden habe).

    Also ich würde so anfangen:

    VB.NET-Quellcode

    1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    2. Dim Pfad As String = "C:\Test"
    3. Dim Dateien As System.IO.FileInfo() = System.IO.DirectoryInfo(Pfad).GetFiles("*.txt") 'Nur Txt
    4. For Each Datei As System.IO.FileInfo In Dateien
    5. ListBox1.Items.Add(Datei.Name)
    6. Next
    7. End Sub



    Und in der For-Each-Schleife kannst du dann mit RegEx deinen genauen Namen herausfiltern :)
    »There's no need to "teach" atheism. It's the natural result of education without indoctrination.« — Ricky Gervais
    @Derfuhr:
    Oh, du ast recht, ich dachte er suche noch beides, sowohl einen Code zum ermitteln als auch zum umbenennen.
    Tut mir leid :)
    »There's no need to "teach" atheism. It's the natural result of education without indoctrination.« — Ricky Gervais