Hallo, ich möchte einen Befehl in einer Batch Datei in gewissen Abständen automatisch ausführen lassen, gibt es da einen befehl mit Angabe von Sekunden?
So was wie execute xx sekunden oder so?
Hilfe wäre nett.
Danke Gruß Elia
Hallo, ich möchte einen Befehl in einer Batch Datei in gewissen Abständen automatisch ausführen lassen, gibt es da einen befehl mit Angabe von Sekunden?
So was wie execute xx sekunden oder so?
Hilfe wäre nett.
Danke Gruß Elia
Hi Elia,
ich möchte einen Befehl in einer Batch Datei in
gewissen Abständen automatisch ausführen lassen, gibt es da
einen befehl mit Angabe von Sekunden?
So was wie execute xx sekunden oder so?
Am besten machst Du dafür einen Loop mit Goto und dazwischen eine Pause. Eine Pause zu machen ist dann das Problem. Normalerweise ginge das mit CHOICE, ich weiß deine Win-Version nicht. Wenn Du CHOICE.COM auf deinem System hast, dann funktioniert folgendes:
TYPE NUL | CHOICE.COM /N /CY /TY,10 \>NUL
Macht eine Pause von 10 Sekunden.
Wenn Du Windows XP hast oder Choice.com auf deinem System nicht vorhanden ist, kannst Du das tool Sleep.exe von http://www.computerhope.com/dutil.htm nutzen. Downloaden, in den Windows-Ordner oder den Ordner der Batchdatei kopieren.
Aufrufen mit z.B.
sleep 10
um eine Pause von 10 Sekunden zu starten.
Beispiel für eine Umsetzung:
:loop
sleep 10
goto loop
Abbrechen musst Du den Vorgang dann mit Strg+C, wenn Du keine Abbruchmöglichkeit einbaust.
Schönen Gruß,
Rudy
Hallo Rudy, vielen Dank für deinen Tipp, es klappt!
Hast du auch noch inen befehl mit dem ich die gante Batch-Datei stoppen kann ohne Nachfrage per Mausklick?
Wäre nett!
Vielen Dank!
Gruß Elia
Hi Elia,
Hast du auch noch inen befehl mit dem ich die gante
Batch-Datei stoppen kann ohne Nachfrage per Mausklick?
Ja, das kannst Du unter Windows XP über die Registrierung machen. Du erstellst Dir am Anfang der Datei mit dem Loop (start.bat) einen Registrierungsschlüssel und überprüfst dann im Loop ob er existiert.
Eine andere Batch-Datei (stop.bat) löscht den Schlüssel, sodass start.bat beim nächsten Durchlauf aus der Schleife springt.
Die Datei zum Start des zyklischen Aufrufs:
(start.bat)
@echo off
reg add HKEY\_LOCAL\_MACHINE\SOFTWARE\MyLoop /v run /d 1 /f
:loop
reg query HKEY\_LOCAL\_MACHINE\SOFTWARE\MyLoop
if errorlevel 1 goto end
echo "befehl"
sleep 10
goto loop
:end
pause
Und zum Stoppen reicht dann ein Klick bzw. der Aufruf von folgender Batch:
(stop.bat)
@echo off
reg delete HKEY\_LOCAL\_MACHINE\SOFTWARE\MyLoop /f
Schönen Gruß,
Rudy
Hallo Rudy,
kann man diese Meldung unterdrücken so daß ich auch keine Taste noch drücken muß zur Bestätigung?
Nette Grüße Elia
Hi Elia,
es klappt zwar allerdings bekomme ich diese Meldung beim
stoppenFehler: Der angegebene Registrierungsschlüssel oder Wert
konnte nicht gefunden werden.
Drücken Sie eine beliebige Taste . . .
Was hast Du für eine Win-Version? Bei mir (WinXP SP2) beendet die Batch immer - auch wenn sie aufgerufen wird, wenn der Registrierungsschlüssel bereits nicht mehr existiert. Die Bestätigung wird mit dem Parameter /f übergangen. Während des Loops muss der Registrierungsschlüssel immer vorhanden sein. Infos zum Befehl ‚reg‘ liefert cmd selbst, ruf einfach ‚reg /?‘ in der Dos-Box auf.
Schönen Gruß,
Rudy
Hi Rudy, es klappt jetzt.
Ich habe das PAUSE entfernt jetzt schließt die Box ich habe XP SP1.
Vielen Dank für deine Hilfe, damit kann ich nun viel anfangen, danke!
Nette Grüße Elia
Hi Elia,
Hi Rudy, es klappt jetzt.
Ich habe das PAUSE entfernt jetzt schließt die Box ich habe XP
SP1.
Ach Du meintest die erste Batch-Datei… *g* dachte die zweite würde nicht schließen. Na Du hast es ja rausgefunden, Hauptsache es geht nun
Schönen Gruß,
Rudy