BATch-Dateien - Run If Older
EinleitungAufruf
History
Anforderungen
Download
Einleitung
Auf einem ständig laufenden Server richtet man wiederkehrende Dienste einfach mit vorgegebenen Zeiten im Taskplaner ein. Und daheim der PC - wenn man dort Routineaufgaben per Taskplaner erledigen möchte, muss der PC zu ebenjener Zeit eingeschaltet sein. Zumeist ist er das nicht.RUN_IF_OLDER ist eine Batch-Datei, die ein Programm nur dann ausführt, wenn die als Parameter angegebene Datei das letzte mal vor n Tagen ausgeführt worden ist. Damit hat man die Möglichkeit, einen Task mit einer bestimten Aufgabe jede Stunde einmal auszuführen, aber die eigentliche Aufgabe wird immer nur alle paar Tage gestartet.
Das funktioniert so:
In einer Textdatei merkt sich RUN_IF_OLDER, wann ein Skript das letzte Mal erfolgreich ausgeführt worden ist. Soll ein Programm gestartet werden, wird in dieser Textdatei das Datum der letzten Ausführung extrahiert. Ist die Differenz grösser als ein mitgegebenes Mindestalter in Tagen oder exisitert noch kein Eintrag, wird das Programm gestartet.
Seitenanfang
Aufruf
Das Skript braucht 2 Parameter. Optional kann man als dritten Parameter ein sinnvolles Label mitgeben, mit dem die Zeit gespeichert wird. Fehlt der 3. Parameter, wird der Programmname als Label verwendet.run_if_older [n] [script/ program to execute] [Label] [n] Anzahl der Tage [script/ program to execute] [label] Label (optional)
Beispiel:
Wenn ich ein Skript zum Defragmentieren der Disk habe, das einmal pro Woche starten soll, wähle ich ein Zeitraum vom 7 Tagen. Das Skript unter D:\Skripte\. Zum Speichern des Ausführungsdatums gebe ich ein Label "defrag_all_hd" mit.
Im Taskplaner kann man ab 00:02 stündlich einen solchen Aufruf eintragen:
C:\bin\run_if_older 7 D:\Skripte\defrag_all_hd_drives.bat defrag_all_hd
run_if_older-Aufruf im Taskplaner
Der erste Aufruf führt zum Ausführen des Defragmentier-Skripts. Die Ausführungszeit wird in einem Textfile lastrun.txt gespeichert:
2007-06-10 19:02:00 defrag_all_hd
Alle weiteren Aufrufe werden diesen Zeitstempel mit dem aktuellen Datum vergleichen.
Seitenanfang
History
- 04.10.2008 - V1.1
Parameter /Y beim Move-Kommando hinzugefügt
- 10.06.2007 - V1.0
erste öffentliche Version
Seitenanfang
Anforderungen
- Windows XP (andere Versionen habe ich nicht getestet)
- Mein Tool showdate im selben Ordner.
- Schreibrechte auf die Datei lastrun.txt im selben Ordner.
Seitenanfang
Download:
Die Bat-Datei (ohne Showdate; dieses müssen Sie in den Ordner der Bat-Datei kopieren):run_if_older.zip (1 kB)
... inkl. Showdate:
run_if_older_complete.zip (23 kB)
Seitenanfang