Jump to content
Sign in to follow this  
kuehnlm

Kurze Batchfrage

Recommended Posts

Hallo,

 

ich hab mal wieder ein kleines Problem mit Batching.

In einer Text-Datei habe ich Ausdrücke wie:

 

 

SERVICE_NAME: wuauserv

TYPE : 20 WIN32_SHARE_PROCESS

STATE : 1 STOPPED

(NOT_STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN))

WIN32_EXIT_CODE : 0 (0x0)

SERVICE_EXIT_CODE : 0 (0x0)

CHECKPOINT : 0x0

WAIT_HINT : 0x0

 

 

SERVICE_NAME: lanmanworkstation

TYPE : 20 WIN32_SHARE_PROCESS

STATE : 4 Running

(NOT_STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN))

WIN32_EXIT_CODE : 0 (0x0)

SERVICE_EXIT_CODE : 0 (0x0)

CHECKPOINT : 0x0

WAIT_HINT : 0x0

 

Wie kann ich jetzt mit ner Batch auslesen, welcher Status welcher Dienst hat...? Ausgabe in Text-Datei - also irgendwie so:

wuauserv - stopped

lanmanworkstation - running

 

Geht das??

Thanks

Share this post


Link to post

Hallo,

 

das geht mit der Textiteration der For-Schleife.

 

Sagt Dir das etwas? Sonst gebe ich gern weitere Hilfe.

 

In der Hilfe steht einiges dazu. Mit for /? an der Eingabeaufforderung gibt es auch was.

 

Hier noch ein Leckerbissen.

 

http://www.bb-sys.de/bbshell.htm

Share this post


Link to post

Wenn die alle in einer Datei stehen, dann hab ich's eigentlich schon geschrieben...aber das Problem ist dann, dass ich eine verschachtelte FOR-Schleife machen muß und das blick ich dann auch wieder nicht...:(

Share this post


Link to post

Blicks glaub net so ganz.

Na ja, wenn nur ein Ausdruck drinsteht - also einmal Dienst... - dann ist das ja easy...:)

 

Aber was mach ich mit dem Rest???? :rolleyes:

 

Danke

Share this post


Link to post

Ich programmiere mal los. Zur Entspannung in der Mittagspause. Ich nehme die beiden Blöcke in getrennte Dateien.

Share this post


Link to post

Schritt 1

----------

 

wuauserv.txt

----------------

SERVICE_NAME: wuauserv

TYPE : 20 WIN32_SHARE_PROCESS

STATE : 1 STOPPED

(NOT_STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN))

WIN32_EXIT_CODE : 0 (0x0)

SERVICE_EXIT_CODE : 0 (0x0)

CHECKPOINT : 0x0

WAIT_HINT : 0x0

 

 

wuauserv.bat

---------------------

set source=wuauserv.txt

 

for /f %%i in (%source%) do echo %%i >> dump.txt

pause

 

dump.txt

---------------------------

WAIT_HINT

SERVICE_NAME:

TYPE

STATE

(NOT_STOPPABLE,

WIN32_EXIT_CODE

SERVICE_EXIT_CODE

CHECKPOINT

WAIT_HINT

Share this post


Link to post

Schritt 2

----------

 

set source=wuauserv.txt

 

for /f "tokens=4" %%i in (%source%) do echo %%i >> dump.txt

pause

 

 

WIN32_SHARE_PROCESS

STOPPED

(0x0)

(0x0)

Share this post


Link to post

Schritt 3

----------

 

set source=wuauserv.txt

 

for /f "tokens=4 skip=2" %%i in (%source%) do echo %%i >> dump.txt

pause

 

STOPPED

(0x0)

(0x0)

Share this post


Link to post

Schritt 4

----------

 

set source=wuauserv.txt

 

for /f "tokens=4 skip=2" %%i in (%source%) do echo %%i >> dump.txt & goto end

:end

 

pause

 

 

STOPPED

Share this post


Link to post

Also, ich hab das mal nachgestellt und bin darauf gekommen:

 

In der Tempdat2.txt steht der Ausdruck mit dem Dienst blabla drin.

 

set source=tempdat2.txt

 

for /f "tokens=2" %%i in (%source%) do echo %%i > dump.txt & goto weiter

:weiter

 

for /f "tokens=4 skip=3" %%i in (%source%) do echo %%i >> dump.txt & goto end

:end

 

pause

 

 

Rauskommen tut dann folgendes:

wuauserv

STOPPED

 

Krieg ich das jetzt noch irgendwie in eine Zeile??

 

Die andere Frage ist noch was gaaaaanz anderes: Hab ich die Möglichkeit den Inhalt einer Variablen in eine Text-datei zu schreiben?

 

Vielen lieben Dank!!!

Share this post


Link to post

Bisher wurde das Resultat zwecks Dokumentation in eine Datei geschrieben. Im nächsten Schritt geht es es eine Variable. Der Variableninhalt kann wieder ein eine Datei übertragen werden.

 

 

Schritt 5

----------

set source=wuauserv.txt

 

for /f "tokens=4 skip=2" %%i in (%source%) do set var= %%i & goto end

:end

echo %var%

echo %var% > dump.txt

 

pause

 

STOPPED

 

Das erste echo schreibt auf den Bildschirm, das zweite in die Datei. In der Datei enthält der Ausdruck ein führendes und zwei nachlaufende unsichtbare Zeichen. Für Vergleichsoperationen müssten die eventuell noch entfernt werden.

Share this post


Link to post
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte überlege Dir, ob es nicht sinnvoller ist ein neues Thema zu erstellen.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

Werbepartner:



×
×
  • Create New...