Verschieben und Umbenennen

  • VB.NET

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

    Verschieben und Umbenennen

    Hallo zusammen, habe Problem beim umbenennen, Daten werden in einer Listbox aufgerufen, die dateien sehn so aus :

    000012345.txt
    000045678.txt

    das befindet sich im ordner A , und es soll in ordner B so aussehn:

    12345.mm
    45678.mm

    wenn man eine datei in der listbox anklickt dann aufs knopf drückt sollte das passieren,
    wie stellet man das an?

    VB.NET-Quellcode

    1. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    2. If ListBox1.SelectedIndex < 0 Then
    3. MsgBox("Datei Auswählen", MsgBoxStyle.Exclamation, "Test")
    4. Else
    5. Dim directory1 = TextBox1.Text
    6. Dim directory2 = TextBox2.Text
    7. For Each oldFileName In Directory.GetFiles(directory1, ListBox1.SelectedItem)
    8. Dim newFileName = Path.ChangeExtension(oldFileName, ".mm").Replace(directory1, directory2)
    9. If File.Exists(newFileName) Then
    10. File.Delete(newFileName)
    11. File.Copy(oldFileName, newFileName)
    12. Next
    13. End If
    14. End If
    15. End Sub
    @guccini So etwa, die Textboxen hab ich mir gespart:

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    3. Dim fi() = New IO.DirectoryInfo("C:\Temp\Move\a\").GetFiles("*.*")
    4. ListBox1.DataSource = fi ' das hier ist das "Geheimnis"
    5. End Sub
    6. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    7. If ListBox1.SelectedIndex < 0 Then
    8. MessageBox.Show("Datei Auswählen", "Test", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
    9. Return
    10. End If
    11. Dim directory2 = "C:\Temp\Move\b\"
    12. Dim item = CType(ListBox1.SelectedItem, IO.FileInfo) ' das ist dfas Pendant zum "Geheimnis"
    13. Dim newFileName = IO.Path.ChangeExtension(item.Name, ".mm").TrimStart("0"c)
    14. item.MoveTo(directory2 & newFileName)
    15. End Sub
    16. End Class

    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!
    @guccini Du musst nur aufpassen, was passiert, wenn Du auf eine bereits verschobene Datei klickst, da greift er ins Leere.
    Am besten, Du löschst dann den betreffenden Eintrag.
    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!