Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Auslesen der paramfile.dat vom Tivoli Endpunkt

Frage Entwicklung Batch & Shell

Mitglied: Fahrrad

Fahrrad (Level 1) - Jetzt verbinden

20.03.2012 um 10:17 Uhr, 2349 Aufrufe, 8 Kommentare

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
Mitglied: rubberman
21.03.2012 um 00:02 Uhr
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:
01.
@echo off &setlocal 
02.
set "infile=param_file.dat" 
03.
 
04.
setlocal EnableDelayedExpansion 
05.
for /f "delims=:" %%i in ('findstr /nc:"[disks_sys_prct]" "%infile%"') do set /a Start=%%i 
06.
for /f "delims=:" %%i in ('findstr /vn . "%infile%"') do if not defined Stop if %%i gtr !Start! set /a Stop=%%i-2 
07.
<"%infile%" ( 
08.
  for /l %%i in (1 1 %Start%) do set /p "=" 
09.
  for /l %%i in (%Start% 1 %Stop%) do set /p "ln=" &echo !ln! 
10.
11.
pause
Grüße
rubberman
Bitte warten ..
Mitglied: Fahrrad
21.03.2012 um 08:37 Uhr
Hallo Rubberman,

vielen Dank für Deine Hilfe, ich werde Dein Skript mal geneuaer anschauen und testen.

Das Setzen der Variable für Start klappt bestens, es hapert scheinbar beim Setzen von Stop, sollte ja die erste Leerzeile nach %Start% sein.

Die param_file.dat ist ähnlich wie eine INI Datei mit Sektionen aufgebaut: zB

[Sektion01]
halloo;0 0
test1234;0 00
Haus;0 0
test1;0 0

[sektion02]
Name
name1

[disks_sys_prct]
C 100 90 80
D 100 90 80



[usw]


[uswusw]
blablabla

Für mich wie erwähnt nur die Sektion mit den darauf folgenden zeilen bis zur nächsten Leerzeile wichtig, in diesem beispiel also
C 100 90 80
D 100 90 80

Vielen Dank & viele Grüße
Fahrrad
Bitte warten ..
Mitglied: rubberman
21.03.2012 um 09:56 Uhr
Hallo Fahrrad,

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
Bitte warten ..
Mitglied: Fahrrad
21.03.2012 um 10:20 Uhr
Moin Rubberman,

ich steh auf dem Schlauch, die Variablen Start und Stop sind jetrzt so gesetzt, daß Start= 13 und Stop=14 ist, abe rich bekomme die Ausgabe genau dieser beiden zeilen per Echo nicht hin ;o(

VG
Fahrrad
Bitte warten ..
Mitglied: rubberman
21.03.2012 um 10:35 Uhr
Hallo Fahrrad,

es geht auch in erster Linie nur um die Zeilennummern. Steht in Zeile 13 das [disks_sys_prct] und befindet 2 Zeilen unter Zeile 14 (also in Zeile 16) die Leerzeile?
Wenn ja, passt das schon mal.
Bekommst du überhaupt irgendwas ausgegeben?

Grüße
rubberman
Bitte warten ..
Mitglied: Fahrrad
22.03.2012 um 11:31 Uhr
Hallo Rubberman,

die zeilennummern stimmen ja auch, aber bei der Ausgabe kommt nichts

VG
Fahhrad
Bitte warten ..
Mitglied: rubberman
22.03.2012 um 18:55 Uhr
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
Bitte warten ..
Mitglied: Fahrrad
23.03.2012 um 09:04 Uhr
Guten Morgen Rubberman,

ich kann Dich gut verstehen. Der Fehler saß vor dem PC, Keine Ahnung, wa sich gemach haber, den Code nochmal kopüoert und es klappt genauso, wie ich es wünsche

Vielen Dank & viel Grüße
Fahrrad
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
Batch & Shell
Eventlog Druckjobs mit VBS auslesen (2)

Frage von joni2000de zum Thema Batch & Shell ...

Batch & Shell
gelöst Appx aus Image auslesen und entfernen (9)

Frage von Markus2016 zum Thema Batch & Shell ...

JavaScript
gelöst Dropdownfeld auslesen und mit AJAX und JS an PHP senden (7)

Frage von ITFlori zum Thema JavaScript ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (17)

Frage von JayyyH zum Thema Switche und Hubs ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Microsoft Office
Keine Updates für Office 2016 (11)

Frage von Motte990 zum Thema Microsoft Office ...