18 Stimmen

Wie erstelle ich einen Batch-Datei-Timer, der im Laufe des Tages einen anderen Batch ausführt/aufruft?

Wie erstelle ich einen Batch-Datei-Timer, um eine andere Batch-Datei über den Tag hinweg auszuführen/aufzurufen. Vielleicht zu bestimmten Zeiten, aber nicht an Wochenenden? Muss auf Systemzeiten laufen kann auch .cmd auf xp Server 2003 ausgeführt werden

35voto

daniel11 Punkte 1967

Für den Timer-Teil Ihres Skripts empfehle ich die Verwendung von:

echo.
echo Waiting For One Hour... 
TIMEOUT /T 3600 /NOBREAK
echo.
echo (Put some Other Processes Here)
echo.
pause >nul

Dieses Skript wartet 1 Stunde (3600 Sekunden) und fährt dann mit dem Skript fort, und der Benutzer kann keine Tasten drücken, um den Timer zu umgehen (außer STRG+C).

Sie können verwenden

Timeout /t 3600 /nobreak >nul

Wenn Sie keinen Countdown auf dem Bildschirm sehen möchten.

3 Stimmen

Sehr schön. Ich habe dies gerade auf der Suche nach einer einfachen Batch-Datei-Timer-Lösung gefunden - funktioniert super, danke! EDIT: Ich verwende dies zusammen mit einer goto-"Schleife", um ein einfaches Skript zu erstellen, das regelmäßig meine SVN-Arbeitskopie aktualisiert.

11voto

Tim Punkte 19787

Ich würde eher den Planer (Systemsteuerung) als eine Cmd-Zeile oder eine andere Anwendung verwenden.

Systemsteuerung -> Geplante Aufgaben

1 Stimmen

schtasks kann von der Kommandozeile aus verwendet werden, um "Geplante Tasks" zu manipulieren

4voto

aphoria Punkte 19108

Nachstehend finden Sie eine Batch-Datei, die 1 Minute lang wartet, den Tag prüft und dann eine Aktion ausführt. Sie verwendet PING.EXE, benötigt aber keine Dateien, die nicht in Windows enthalten sind.

@ECHO OFF

:LOOP
ECHO Waiting for 1 minute...
  PING -n 60 127.0.0.1>nul
  IF %DATE:~0,3%==Mon CALL SomeOtherFile.cmd
  IF %DATE:~0,3%==Tue CALL SomeOtherFile.cmd
  IF %DATE:~0,3%==Wed CALL SomeOtherFile.cmd
  IF %DATE:~0,3%==Thu CALL WootSomeOtherFile.cmd
  IF %DATE:~0,3%==Fri CALL SomeOtherFile.cmd
  IF %DATE:~0,3%==Sat ECHO Saturday...nothing to do.
  IF %DATE:~0,3%==Sun ECHO Sunday...nothing to do.
GOTO LOOP

Es könnte in vielerlei Hinsicht noch verbessert werden, aber es könnte ein guter Anfang sein.

3voto

SumoRunner Punkte 884

Mit dem AT-Befehl wäre das möglich, aber dafür gibt es die Benutzeroberfläche für geplante Aufgaben (Scheduled Tasks). Geben Sie "help at" in ein cmd-Fenster ein, um Einzelheiten zu erfahren.

1voto

Jeff Kotula Punkte 2094

Ich habe es getan, indem ich eine kleine C#-Anwendung geschrieben habe, die nur aufwacht, um regelmäßige Aufgaben zu starten - ich weiß nicht, ob es von einer Batch-Datei aus machbar ist, ohne Erweiterungen herunterzuladen, um einen Schlafbefehl zu unterstützen. (Für meine Zwecke der Windows-Scheduler funktionierte nicht, weil die Anwendungen gestartet hatte keine Grafik-Kontext zur Verfügung).

1 Stimmen

Warum ist ein Grafikkontext erforderlich, um vom Scheduler aus zu starten? Ich verstehe nicht, warum das einen Unterschied macht.

0 Stimmen

In meinem Fall musste ich eine Anwendung starten, um automatisierte Tests durchzuführen, die viele Grafiken enthielten (medizinische Bildgebung). Sie liefen also nicht ohne einen Grafikkontext.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X