Jump to content

Auslesen von INI mit FOR Schleife


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo,

 

ich mal wieder und ein neues Problem:

 

Ich les ne INI-Datei mit ner FOR-Schleife aus. Die INI sieht so aus:

 

[stopped] uploadmgr Upload-Manager

[stopped] UPS Unterbrechungsfreie Stromversorgung

[Running] V2i Protector V2i Protector

[stopped] vds Dienst für virtuelle Datenträger (VDS)

 

OK - ist nur ein Ausschnitt - reicht aber zum Erklären.

Mein Problem ist nun: Ich muß die zweite Spalte auslesen. also:

 

for /f "tokens=2" %%i in (vorlage.ini) do echo %%i

 

Das Problem ist nun, dass der Eintrag V2i Protector ein Blank zwischendrin hat.

OK ich weiß, dass ich da wahrscheinlich was mit delims machen muß, aber nach der zweiten Spalte kommen Leerzeichen bis zum nächsten Wort...

 

Wie muß ich denn das machen???

 

supervielen Dank!!!

Link zu diesem Kommentar

So - das Problem ist bei dem Aufruf nur, dass ich ja alles dahinter auch noch bekomme.

Ich brauch aber nur die mittlere Spalte.

 

Hab mir das mal genauer angeschaut. Dann sieht das so aus:

 

[stopped] UPS UPS.....

[Running] V2i Protector V2i Protector

 

Und ich brauch jetzt nur die zweite Spalte - mehr nicht....

 

Wie mach ich denn das??

Link zu diesem Kommentar

Ne - das ist auch nicht das richtige...

vielleicht hab ich einfach noch nicht so genau geschildert, was eigentlich rauskommen sollte:

 

Ich hab den Ausdruck in der INI-Datei drinstehen:

 

[stopped] uploadmgr Upload-Manager

[stopped] UPS Unterbrechungsfreie Stromversorgung

[Running] V2i Protector V2i Protector

[stopped] vds Dienst für virtuelle Datenträger (VDS)

 

 

Das ganz vorne ist der Status des Dienstes, die mittlere Spalte (also uploadmgr, ups, v2i protector und vds) ist der Dienstname und dahinter kommt die Beschreibung.

 

Was ich jetzt brauch ist den Dienstnamen. Wär ja ganz einfach, wenn V2i Protector zusammengeschrieben wäre.

Wenn ich nämlich jetzt for /f "tokens=2,3" mach, dann kommt das raus:

 

uploadmgs Upload

ups unterbrechungsfreie

v2i protector

vds dienst

 

Für die vorletzte Zeile ist das ja auch richtig, aber nicht für die anderen....

 

Und jetzt?? :confused:

Link zu diesem Kommentar

Hallo,

 

Ich mach zuerst ein srvinfo -r \\%computername% >> vorlage.ini

 

dann schneid ich alles über dem Ausdruck "Services" und ab "Network Card" ab und dann bleibt das übrig.

 

Ich könnt vielleicht auch die INI nochmals umbauen...??...weiß nicht ob das geht - hab auch schon ein bißchen rumprobiert.

 

In der INI steht ja drin:

[Running] - danach kommt ein TAB bis zum Dienstname und danach kommen erstmal noch etliche Leerzeichen bis die Beschreibung kommt.

Ich könnte doch jetzt hergehen und alles ab Zeichen 60 oder so bis zum Zeilenende abschneiden und in der Datei Vorlage1.ini speichern - geht sowas???

 

Danke

Link zu diesem Kommentar

Du kannst über ein VBS Script WMI Infos über Dienste gut abfragen.

 

Hier ein Beispiel:

On Error Resume Next
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_Service",,48)
For Each objItem in colItems
   Wscript.Echo "Caption: " & objItem.Caption
   Wscript.Echo "DisplayName: " & objItem.DisplayName
   Wscript.Echo "InstallDate: " & objItem.InstallDate
   Wscript.Echo "Name: " & objItem.Name
   Wscript.Echo "State: " & objItem.State
Next

 

thorgood

Link zu diesem Kommentar

In der svc.vbs:

On Error Resume Next

Dim Args
Set Args = WScript.Arguments

strComputer = Args(0)
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_Service",,48)
For Each objItem in colItems
   Wscript.Echo "Caption: " & objItem.Caption
   Wscript.Echo "DisplayName: " & objItem.DisplayName
   Wscript.Echo "InstallDate: " & objItem.InstallDate
   Wscript.Echo "Name: " & objItem.Name
   Wscript.Echo "State: " & objItem.State
Next

 

und dann ausführen mit

 

cscript //nologo svc.vbs pcname>irgendwas.log

 

thorgood

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...