dateinamen lesen und anhand davon dateien löschen



  • hi
    ich hab folgendes problem:
    ich habe einen ordner in dem ich backups folgendermaßen abspeichere:
    (jahr_monat_tag)
    2007_09_21.tib
    2007_10_03.tib
    usw.....

    jetzt möchte ich die dateinamen als strings einlesen (stelle 1-4 als jahrstring, stelle 6-7 als monatsstring und stelle 9-10 als tag-string)
    und abhängig davon dateien die älter als bspw 2 monate sind löschen.

    nur find ich irgendwie nix, wie ich aus dateien den namen lesen kann 😕
    was gibts dafür?

    mfg



  • Aus Dateien nicht - aber aus dem Verzeichnis. Aber das geht nicht mit Standardmitteln, sondern nur mit Systemfunktionen (FindFirstFile() und Co).



  • Wenn du die Dateien nur löschen möchtest, ist wohl C nicht die beste Wahl.
    Ich würde ein Skript (Shell, ruby, tcl ..) schreiben, das diese Aufgabe
    erledigt. (Ok, ich arbeite mit Linux. Das geht bestimmt auch unter Windows,
    aber wie, da habe ich keine Ahnung)



  • eig wollte ich ja auch n batch-skript schreiben, aber leider hab ich von batch-programmierung noch weniger ahnung wie von c-programmierung.

    wie is des mit dem findfirstfile, gibbet da irgendwo ne beschreibung zu?



  • Ja, in der MSDN - und wenn du die Suchfunktion bemühst, dürftest du hier auch einige Vorkommen finden.

    (btw, wenn alle Stricke reißen, kannst du dir auch mit "dir" den Verzeichnisinhalt holen und stückweise bearbeiten)


Anmelden zum Antworten