Sie sind hier:
»
PC + Co.
»
mehr BAT-Skripte
»
Run_if_older
Tipp
In der Quicksearch-Box rechts können Sie den Namen eines Windows-Kommandos oder
Kommandozeilentools eingeben
und kommen so schnell zu dessen Beschreibung.
BATch-Dateien - Run If Older
Programme nur ausführen, wenn sie sie zuletzt vor mindestens n Tagen
ausgeführt worden sind
Einleitung
Aufruf
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
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 koipieren):
run_if_older.zip (1 kB)
... inkl. Showdate:
run_if_older_complete.zip (23 kB)
Seitenanfang