Auslesen der paramfile.dat vom Tivoli Endpunkt
Guten Morgen,
ich brauche Hilfe für eine Aufgabe, welche sich über 1500 Server erstreckt....
Ich möchte die aufgabe am liebsten nur mit Batch per psexec erledigen.....
Ich benötige aus der param_file.dat vom Tivoli Endpunkt den Tivoli Disk space thresold alert (%):
[disks_sys_prct]
C 100 96 94
E 100 96 94
Es können natürlich mehrere Laufwerke angeben sein, ich weiß nicht wie viele Laufwerke gemonitort werden.
Der für mich interessante Block wird aber mit einer Leerzeile abgeschlossen.
Ich kann mit FIND oder FINDSTR nach [disks_sys_prct] suchen lassen, wie bekomme ich die danach folgenden Zeilen bis zuim Abschluß durch eine Leerzeile ausgegeben?
Vielen Dank für Eure Hilfe!!!
VG
Fahrrad
ich brauche Hilfe für eine Aufgabe, welche sich über 1500 Server erstreckt....
Ich möchte die aufgabe am liebsten nur mit Batch per psexec erledigen.....
Ich benötige aus der param_file.dat vom Tivoli Endpunkt den Tivoli Disk space thresold alert (%):
[disks_sys_prct]
C 100 96 94
E 100 96 94
Es können natürlich mehrere Laufwerke angeben sein, ich weiß nicht wie viele Laufwerke gemonitort werden.
Der für mich interessante Block wird aber mit einer Leerzeile abgeschlossen.
Ich kann mit FIND oder FINDSTR nach [disks_sys_prct] suchen lassen, wie bekomme ich die danach folgenden Zeilen bis zuim Abschluß durch eine Leerzeile ausgegeben?
Vielen Dank für Eure Hilfe!!!
VG
Fahrrad
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 182268
Url: https://administrator.de/contentid/182268
Ausgedruckt am: 23.11.2024 um 13:11 Uhr
8 Kommentare
Neuester Kommentar
Hallo Fahrrad.
Ich kenne den Aufbau einer solchen Datei nicht, deshalb hoffe ich mal, die Zeilen haben einen Windows-Zeilenumbruch <CR><LF>.
Teste folgende paar Zeilen:
Grüße
rubberman
Ich kenne den Aufbau einer solchen Datei nicht, deshalb hoffe ich mal, die Zeilen haben einen Windows-Zeilenumbruch <CR><LF>.
Teste folgende paar Zeilen:
@echo off &setlocal
set "infile=param_file.dat"
setlocal EnableDelayedExpansion
for /f "delims=:" %%i in ('findstr /nc:"[disks_sys_prct]" "%infile%"') do set /a Start=%%i
for /f "delims=:" %%i in ('findstr /vn . "%infile%"') do if not defined Stop if %%i gtr !Start! set /a Stop=%%i-2
<"%infile%" (
for /l %%i in (1 1 %Start%) do set /p "="
for /l %%i in (%Start% 1 %Stop%) do set /p "ln=" &echo !ln!
)
pause
Grüße
rubberman
Hallo Fahrrad,
dann lass doch die beiden Variablen mal per ECHO ausgeben. Start muss die Zeilennummer für die Zeile
Grüße
rubberman
dann lass doch die beiden Variablen mal per ECHO ausgeben. Start muss die Zeilennummer für die Zeile
[disks_sys_prct]
ergeben, Stop + 2 die Leerzeile. Bitte beachte, dass die Leerzeile auch wirklich leer ist und schau dir ggf. im Hex Editor an, welchen Zeilenumbruch dir das Programm liefert (soll: 0D 0A).Grüße
rubberman
Hallo Fahrrad.
Nun lass dir doch nicht jede Info aus der Nase ziehen
Besteht der Zeilenumbruch nun aus einem Carriage Return + Line Feed alias <CR><LF> alias Hex. 0D 0A alias ASCII Zeichen 13 und 10, oder nicht?
Außerdem wird nach einer Leerzeile gesucht. Steht dort auch nur ein Leerzeichen, ist die Zeile nicht leer.
Ich habe nur die Chance, mit den von dir geposteten Daten zu testen - und damit funktioniert es. Die Originaldatei liegt dir vor und nur du kannst diese Informationen geben.
Grüße
rubberman
Nun lass dir doch nicht jede Info aus der Nase ziehen
Besteht der Zeilenumbruch nun aus einem Carriage Return + Line Feed alias <CR><LF> alias Hex. 0D 0A alias ASCII Zeichen 13 und 10, oder nicht?
Außerdem wird nach einer Leerzeile gesucht. Steht dort auch nur ein Leerzeichen, ist die Zeile nicht leer.
Ich habe nur die Chance, mit den von dir geposteten Daten zu testen - und damit funktioniert es. Die Originaldatei liegt dir vor und nur du kannst diese Informationen geben.
Grüße
rubberman