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-Key: 136287

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

Printed on: April 20, 2024 at 02:04 o'clock

Member: Snowman25
Snowman25 Feb 18, 2010 at 12:34:57 (UTC)
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
Member: didie08
didie08 Feb 18, 2010 at 13:10:35 (UTC)
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.
Member: Snowman25
Snowman25 Feb 18, 2010 at 13:14:27 (UTC)
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