spaceball
Goto Top

Auslesen eines Logfiles unterbrechen

Hallo,

Ich habe folgende Aufgabenstellung unter Windows 2003 Server, als Lösungsmöglichkeit kommt nur rudimentäre batch-"Programmierung"
in Frage da ad-ons und weitere Sprachen nicht installiert werden dürfen.

Ich habe ein input.file mit folgendem Aufbau:

12345678
91827364
55334245
65456334

Nun möchte ich die ersten 300 Zeilen Zeile für Zeile auslesen und mit einem Kommando verknüpft ausführen.
Nach Auslesen der 300. Zeile soll die Verarbeitung "unterbrochen" werden um nachzusehen ob mittlerweile
ein bestimmter Prozess ansteht.
Steht dieser Prozess an, soll nach 300 sec. erneut geguckt werden ob der Prozess noch ansteht
steht der Prozess dann nicht mehr an, soll mit Zeile 301 - 600 weitergemacht werden u.s.w.
Die Länge des Input.files ist stets variabel und wird täglich neu angelegt.

Mag vieleicht einfach sein, jedoch nicht für mich face-sad

Danke & Gruß

spaceball

Content-Key: 131663

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

Printed on: April 25, 2024 at 17:04 o'clock

Mitglied: 60730
60730 Dec 14, 2009 at 15:39:18 (UTC)
Goto Top
Servus,

eine ungetestete a skizze...
for /f %%a in (input.file) do (
set /a zahl+=1 && if %zahl% leq 300 echo und hier irgendwas mit %%a ausführen
if  %zahl%equ 300 ping -n 300 >nul && set zahl=0
)

Kommst du damit klar?

Gruß
Member: spaceball
spaceball Dec 14, 2009 at 16:13:35 (UTC)
Goto Top
nicht ganz:

habe die Werte zum testen etwas verkleinert:

for /f %%a in (D:\script\input.log) do (
set /a zahl+=1 && if %zahl% leq 5 echo Wert %%a
if %zahl%equ 5
rem Kommando 1 kommt noch
rem Kommando 2 kommt noch
rem Kommando 3 kommt noch
ping -n 30 >nul && set zahl=0
führt zur Ausgabe

5 was unexpected at this time.
D:\scrpt\log>set /a zahl+=1 && if %zahl% leq 5 echo Wert %%a
D:\scrpt\log>