Rdm Wartezeit in Batch datei! Wie bekomm ichs hin

Ich arbeite gerade an einer Batchdatei die folgendes tun soll

Datei/programm 1 starten
16-20 min warten
Datei/Programm2 starten
16-20 min warten
Endlosschleife

ich habe damals schon eine ähnliche Batch geschrieben aber ich bin programmierlaie und erinner mich nicht mehr wie es geht! Damals hab ich iwie mit set a … gearbeitet

Am ende sollte die batch dann so in etwa aussehen:

@echooff

loop

start AAA.exe
timeout/sleep 16-20 min
start bbb.exe
timeout/sleep 16-20 min
goto loop

wie gesagt ich bekomme den befehl für die rdm zeit einfach nicht mehr hin.
Über Hilfe, oder sogar vervollständigen der Batch wäre ich sehr dankbar!

liebe grüsse euer Feraleo

Hallo Feraleo,

versuchs mal hiermit:

http://www.bjoernhenke.de/frame.htm?/wait/index.de.htm

LG
Andreas

Ich wüsste nicht, dass im Command-Befehlssatz etwas für einen Timer existiert. Da hattest du sicher was externes benutzt. Das kenne ich aber nicht und kann dir daher nicht helfen.

Tut mir leid, ist nicht meine Programmierwelt - kann also gar nicht helfen.
Lg
Katharina

Hallo,

ich würde da hierauf (Link unten) verweisen, da ich nicht weiß unter welchem System du arbeitest. Dort sind einige Lösungen angeboten, die funtkionieren könnten.

http://mabraham.de/sleep-command-windows-batch/

Alternativ kann man auch den Windows-Task-Manager nutzen um Zyklisch (alle x Minuten) Jobs zu starten. Dann muss die Warteanweisung nicht in den Batch rein.

Viel Erfolg!

Es gibt mehrere Möglichkeiten das zu realisieren.

Aufgrund der hohen Wartezeit würde ich als erstes vorschlagen das Batchscript als Task auszuführen, Stichwort „scheduled Tasks“ bzw. „Aufgabenplanung“.
Einfach eine Task anlegen die eine Bacth Datei ausführt und da dann die Zeit konfigurieren.

Wenn du das in dem Batch Script machen willst kommt es auch ein bisschen auf dein Betriebssystem an bzw. auf das Betreibssystem wo das Script aufgerufen wird.
Betriebssystem unabhängig wäre folgendes:
ping -n 127.0.0.1
Hier wird einfach so lange der eigene Host gepingt wie Sekunden hinter -n stehen. Beispiel:
ping -n 10 127.0.0.1
würde 10 Sekunden lokalhost pingen.

Ab Windows Vista gibt es die timeout Funktion. Mit
timeout /N 10
baust du einen Timeout von 10 Sekunden ein.

Für Windows XP/Server 2003 gibt es noch eine sleep Funktionen. Diese habe ich nicht im Kopf. Einfach nach sleep command googln sollte helfen.

Hallo,

ich meine noch im Kopf zu haben, das man den Parameter start mit -w erweitern kann und die Batchdatei erst weitermacht, wenn das aufgerufene Programm fertig ist.

Eine künstliche Pause in einer Batchdatei erledige ich so:
Ping -n 180 localhost > nul

180 steht hier für ca. 180 sekunden.

Danke für die vielen Antworten! Vielleicht hatte ich mich ein bisschen schlecht ausgedrückt.

Die Timeout wait sleep befehle kannte ich und wie dieses gemacht wird, mir gings darum wie ich eine randomzahl für die dauer des Timeouts generiere!

Habs nun selber hinbekommen!

Hier die Lösung falls mal einer nach dem selben Problem googelt.

@echo off

loop

set /a num=%random% %%%1200 +960
start XXX.Exe
timeout %num%
set /a num=%random% %%1200 +960
start YYY.exe
timeout %num%
goto loop