didie08
Goto Top

For schleife nur in Zeitfenster ausführen

Ich möchte mit einer for schleife eine Liste abarbeiten. Das abarbeiten dieser Liste dauert mehrere Stunden.
Da mit den Daten tagsüber gearbeitet wird, darf meine for schleife nur nachts in einem Zeitfenster von 22 bis 5 Uhr auf die Daten zugreifen.
Die batch wird um 22 Uhr gestartet . Wie kann ich nun dafür sorgen dass die schleife immer morgens um 5 Uhr gestoppt wird und abens ab 22 Uhr wieder weiter arbeitet.

Ich habe versucht sleep.exe zu verwenden um pausen einzubauen, was aber leider nicht funktioniert hat
Mein Versuch sieht so aus

for /f "tokens=* delims= " %%i in (D:\ugs-alt-daten\ordnerliste.txt) do (  
	D:\ugsnx2\UGII\refile_part.exe -s -d %haupt_ref_ordner%\%%i -ll D:\temp\refile_logs\%%i-ugsnx2.txt
	if %time:~0,2% EQU 6 sleep 3600
	if %time:~0,2% EQU 7 sleep 3600
	.
	.
	.
	.
	if %time:~0,2% EQU 20 sleep 3600
	if %time:~0,2% EQU 21 sleep 3600
)

Wie kann man so etwas lösen ?

Gruß
didie08

Content-ID: 136287

Url: https://administrator.de/contentid/136287

Ausgedruckt am: 05.11.2024 um 20:11 Uhr

Snowman25
Snowman25 18.02.2010 um 13:34:57 Uhr
Goto Top
Hallo @didie08,

wie wärs mit 'nem geplantetn Task bzw. Cronjob?
und fürs beenden gibts dann eben
if %time:~0,2% EQU 5 end

Ist sleep.exe auch in einem Standardordner bzw. im Workspace-ordner untergebracht?
Sonst kann die Datei nicht gefunden werden und nichts passiert...
Microsoft rät übrigens für Wartevorgänge so etwas an:
ping -n <wartezeit in sekunden> localhost>nul

Gruß
Snow
didie08
didie08 18.02.2010 um 14:10:35 Uhr
Goto Top
Hallo Snow,

sorry.
sleep.exe war nicht in meinem Workspace-ordner. Ich hatte vergessen dass ich auf einem andern Rechner arbeite.
nun klappts.

danke für den Hinweis

Gruß
didie08

Noch eine Ergänzung für die unerfahrenen wie mich.

%time:~0,9% bringt innerhalb der for schleife immer den selben Wert. Man muss also schon aus der Schleife raus wenn die Zeit aktuell abfragen will.
Snowman25
Snowman25 18.02.2010 um 14:14:27 Uhr
Goto Top
dann bin ich ja froh wenn ich helfen konnte face-smile

Genau aus diesen Gründen verwende ich sleep.exe nicht... wenn man sie bräuchte ist sie nie da face-big-smile