+ Antworten
Ergebnis 1 bis 5 von 5
  1. #1
    No Life Rumak18 wird schon bald berühmt werden Avatar von Rumak18
    Registriert seit
    14.07.2004
    Ort
    Bayern
    Alter
    30
    Beiträge
    534
    Downloads
    0
    Uploads
    0
    Renommee-Modifikator
    112

    Standard Batch - Forfiles (Dateien,Ordner löschen, die älter sind als...)

    Hallo,
    ich erstelle mir mittels eines Batch Scriptes Ordner, die das Datum tragen. Dies mache ich für ein Backup von einer kleinen DB.
    Nun möchte ich allerdings diese Ordner samt Inhalt irgendwann auch wieder löschen. Idealerweise diejenigen, die älter sind als 2 Wochen. Wie könnte ich das anstellen? Jemand eine Idee?



  2. #2
    No Life Rumak18 wird schon bald berühmt werden Avatar von Rumak18
    Registriert seit
    14.07.2004
    Ort
    Bayern
    Alter
    30
    Beiträge
    534
    Downloads
    0
    Uploads
    0
    Themenstarter
    Renommee-Modifikator
    112

    Standard

    http://forum.fachinformatiker.de/win...per-batch.html



  3. #3
    No Life XP-Fan befindet sich auf einem aufstrebenden Ast Avatar von XP-Fan
    Registriert seit
    17.07.2009
    Ort
    Serverraum
    Beiträge
    328
    Downloads
    1
    Uploads
    0
    Renommee-Modifikator
    54

    Standard

    Hallo,

    schau dir mal delage32 an das sollte dir weiterhelfen.


    Mein Motto: Nichts wird so heiß gegessen wie es gekocht wird

  4. #4
    No Life Tilo2300 sorgt für eine eindrucksvolle AtmosphäreTilo2300 sorgt für eine eindrucksvolle Atmosphäre Avatar von Tilo2300
    Registriert seit
    28.01.2002
    Ort
    Jülich
    Alter
    35
    Beiträge
    401
    Downloads
    8
    Uploads
    0
    Renommee-Modifikator
    121

    Standard

    Wenn deine Ordner, "die das Datum tragen", namentlich sinnvoll formatiert sind - soll heißen rückwärts, also z. B.
    Backup_-_20091029
    Backup_-_20091030
    Backup_-_20091031
    - dann werden sie ja bereits chronologisch alphabetisch aufgelistet.

    Das ist bei Namen wie

    13.01.2009
    01.04.2009
    02.05.2009
    31.10.2009

    usw. nicht der Fall.

    Im zuerst genannten Fall brauchst du keine großartigen Klimmzüge zu veranstalten.

    Du produzierst einfach eine alphabetisch sortierte (-> zeitlich chronologische) Auflistung deiner Ordner mit dem DIR-Befehl

    Code:
    dir %Zielpfad%\Backup_-_*.* /O:-N /b
    Mit
    Code:
    dir %Zielpfad%\Backup_-_*.* /O:-D /b
    kannst du die Ordner auch nach timestamp sortiert ausgeben, allerdings lehrt die Erfahrung, daß man sich auf timestamps nicht immer verlassen kann, z. B. wenn du die Ordner mal woanders hinkopierst, bekommen sie ggf. einen neuen timestamp, der nichts mehr mit dem origialen zu tun hat.
    Deshalb würde ich die Variante mit dem Ordnernamen vorziehen.

    Unter Verwendung einer FOR-Schleife mit dem Parameter SKIP würde ich die sortierte Ausgabe des DIR-Befehls verarbeiten.

    DIR gibt die Ordnernamen zeilenweise aus.
    Mit /O bestimmst du die Sortierung (order),
    /b verwendet das "einfache" Format, also ohne Kopfzeilen, Dateigrüße, Dateidatum usw.

    Mit SKIP kannst du deiner FOR-Schleife sagen, daß sie die ersten x übergebenen Werte (Ordnernamen) ignorieren soll.

    Über die FOR-Schleife löscht man also die Ordner.
    Die Liste der Ordner läßt man sich retrochronologisch (neueste zuerst) mit
    DIR ... /O:-N
    auflisten und weist FOR an, z. B. mittels SKIP=21 die ersten (neuesten) 21 übergebenen Ordner zu ignorieren, also nicht zu verarbeiten / zu löschen.
    Damit löschst du alle Ordner außer den 21 ersten der DIR-Ausgabe, also den neuesten 21.
    Wenn du für jeden Tag einen Ordner erstellst, behälst du also immer die letzten 3 Wochen.

    Angenommen also du hast Ordner namens
    Backup_-_20091029
    Backup_-_20091030
    Backup_-_20091031

    Code:
    echo Loesche alle Datumsordner bis auf die letzten 21...
    set Ziel=D:\Sicherung
    FOR /F "eol=; skip=21 tokens=* delims=," %%i in ('dir %Ziel%\Backup_*.* /O:-N /b') do (
       RMDIR /S /Q %Ziel%\%%i
       )
    Damit kommt man auch ohne jedwedes externes Tool wie "delAge" & Co aus.


    Wenn alles auch im Eimer ist, so bleibt uns doch der Eimer.






  5. #5
    No Life Rumak18 wird schon bald berühmt werden Avatar von Rumak18
    Registriert seit
    14.07.2004
    Ort
    Bayern
    Alter
    30
    Beiträge
    534
    Downloads
    0
    Uploads
    0
    Themenstarter
    Renommee-Modifikator
    112

    Standard

    Vielen Dank für die Mühe. Aber das VB Script sagt mir am Besten zu.



Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

Ähnliche Themen

  1. daten die älter als zwei Monate sind löschen
    Von Rupps. im Forum Software Windows XP
    Antworten: 8
    Letzter Beitrag: 17.03.2006, 13:42
  2. Dateien und Ordner löschen
    Von ziolko im Forum Programmierung und Skripte
    Antworten: 5
    Letzter Beitrag: 29.01.2004, 17:33
  3. Versteckte Dateien und Ordner ausblenden-Batch
    Von mecss im Forum Programmierung und Skripte
    Antworten: 10
    Letzter Beitrag: 16.01.2004, 00:54
  4. Dateien und Ordner löschen
    Von Spinne84 im Forum Software Windows 2000
    Antworten: 1
    Letzter Beitrag: 06.08.2003, 09:55
  5. dateien entfernen die im explorer nicht zu löschen sind
    Von sammer im Forum Tipps und Tricks Windows XP
    Antworten: 7
    Letzter Beitrag: 23.04.2002, 12:51

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein

Search Engine Friendly URLs by vBSEO 3.6.0