Automatisches Zippen

Von: , Frage gestellt am Mi, 13. Sep 2006

Hallo Leute,
Ich bin auf der suche nach einer Lösung für ein eigentlich einfaches Problem.
Folgendes:
Ich habe ein Verzeichniss wo alle 10 Minuten ein kurzes Textfile erzeigt wird (Produktionsmaschine)
Ich möchte um 23:59 alle Files Zippen und zwar mit dem Datum als Dateiname (YYYY-MM-DD.zip) und in einem Archivordner ablegen.
Und anschließend alle Dateien löschen.
Unter unix hätte ich kein problem damit weil das DATE Befehl ein bißchen mehr möglichkeiten bietet wie unter Windows.
Kennt wer eine Möglichkeit wie man das aktuelle Datum in Windows formatieren kann?
Das zippen und löschen ist kein Problem.
Danke!
mfg.
Walter

2 Antworten zu dieser Frage

  1. Antwort von nach 20 Stunden 0 hilfreich
    Re: Automatisches Zippen

    Hallo. Kennt wer eine Möglichkeit wie man das aktuelle Datum in
    Windows formatieren kann?
    Unter Windows XP gibt es die Variable %date%, die das aktuelle Datum enthält. Diese kannst du mit den üblichen Substring-Funktionen beim Variablenauflösen bearbeiten. Das genau Format der Variable ist allerdings abhängig von den Sprach- und Ländereinstellungen. Bei mir steht das Datzm in der Form DD.MM.YYYY da drin. Da könnte an dann, um an die von dir gewünschte Form zu kommen folgendes machen:
    %date:~6:4%-%date:~3:2%-%date:~0,2%.zip
    Das wäre dann der Parameter, den du als Dateinamen deinem Zip-Programm übergeben würdest.

    Sebastian.

  2. Antwort von nach 22 Stunden 0 hilfreich
    Re: Automatisches Zippen

    Hallo Walter Ich habe ein Verzeichniss wo alle 10 Minuten ein kurzes
    Textfile erzeigt wird (Produktionsmaschine)
    Ich möchte um 23:59 alle Files Zippen und zwar mit dem Datum
    als Dateiname (YYYY-MM-DD.zip) und in einem Archivordner
    ablegen.
    Kennt wer eine Möglichkeit wie man das aktuelle Datum in
    Windows formatieren kann?
    Das zippen und löschen ist kein Problem.
    Hmm, unter Windows gibt es kein ordentliches Date-Tool,
    ich mach das immer mit einem kleinen perl-Skript, für
    Deinen Fall sähe das so aus:

    1) Alle Dateien (nach zipdate.zip) zippen:

    C:\ordner> zip zipdatei.zip *.*

    2) Namen dieser zipdatei.zip mit Skript anpassen

    C:\ordner> perl newdate.pl zipdate.zip

    Ausgabe: zipdatei.zip ==> 2006-09-14-zipdatei.zip

    So ungefähr würde ich das machen. Das benötigte Skript
    würdest Du newdate.pl nennen und Folgendes rein-
    schreiben: [newdate.pl]

     use POSIX;
    $inpname = shift or die "kein Dateiname vorhanden!";
    $outname = strftime("%Y-%m-%d", localtime) . "-$inpname";
    rename $inpname, $outname and print "$inpname ==> $outname\n";
    Dieses Datums-Format "%Y-%m-%d" kannst Du dann nach den
    Posix-Regeln (http://unixhelp.ed.ac.uk/CGI/man-cgi?strftime) anpassen.

    Ach so, ==> http://downloads.activestate.com/ActivePerl/Windows/...

    Grüße

    CMБ

Keine passende Antwort gefunden? Jetzt eigene Frage stellen!