Alle .txt Dateien mit dem Namen "Verkauft" löschen

  • VB.NET

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von C-Sharp.

    Alle .txt Dateien mit dem Namen "Verkauft" löschen

    Hey,

    ich möchte alle Dateien in einem bestimmten Verzeichnis löschen, deren Dateiname "Verkauft" enthält, wie z.B. -> "094423-284 - Silber - Verkauft.txt" ; Dieser sollte dann gelöscht werden.

    Ich habe in einem Verzeichnis viele .txt Dateien und es sollen wirklich nur die gelöscht werden, deren Dateiname "Verkauft" enthält.


    Diese Aktion soll durch 'nen Button ausgelöst werden.

    Ich hoffe ihr könnt mir helfen.

    Gruß, Markus!
    Für die paar Dateien ein Programm zu schreiben erscheint mir persönlich ein bisschen viel Aufwand.

    Würde dir in deinem Fall zu einem "Einzeiler" in der PowerShell raten :)

    Quellcode

    1. Get-ChildItem -Path "Ordnerpfad" | Where-Object { $_.Name -like "*verkauft*"} | ForEach-Object ($_) { Remove-Item -Path $_.FullName }


    Aber wenn du unbedingt ein Programm willst...

    - Pfad und Bedingung einlesen (z.B. Textbox)
    - Dateien einlesen mit DirectoryInfo --> GetFiles()
    - ForEach-Schleife alle Dateien durchgehen und Prüfen ob der Dateiname "Verkauft" enthält.
    - Datei mit File.Delete() Löschen wenn die Bedingung erfüllt wird

    Hoffe konnte dir etwas weiterhelfen


    EDIT: Du kannst natürlich auch noch Prüfen ob die Datei mit ".txt" endet.
    NETworkManager - A powerful tool for managing networks and troubleshoot network problems!

    ILLEX schrieb:

    deren Dateiname "Verkauft" enthält
    So was:

    VB.NET-Quellcode

    1. Dim fis() = New IO.DirectoryInfo("c:\temp\").GetFiles("*Verkauft*.txt", IO.SearchOption.TopDirectoryOnly) 'IO.SearchOption.AllDirectories)
    2. For Each fi In fis
    3. fi.Delete()
    4. Next
    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!
    ein typDataset würde wohl reichen - Datenbanken sind immer recht unhandlich.

    Aber der TE wird wohl weder aufs eine noch aufs annere umsteigen, also

    VB.NET-Quellcode

    1. For Each fi As FileInfo In New DirectoryInfo("bestimmten Verzeichnis").GetFiles("*.txt")
    2. If fi.Name.IndexOf("verkauft", StringComparison.OrdinalIgnoreCase) >= 0 Then fi.Delete()
    3. Next
    dasser zumindest mit FileInfo umgeht, statt mit dumme Strings.