Microsoft MVPs inside





 MCSEboard.de – IT Pro Forum zu Windows Server 2008 R2 / 2008 / 2003 & Windows 7 / Vista / XP
Registrieren Hilfe Regeln Benutzerliste Suchen Heutige Beiträge Alle Foren als gelesen markieren

Windows Server Forum


Alles zum Thema Windows Server sowie Windows IT Pro Themen — Q & A zu den Windows Server Versionen NT / 2000 / 2003 / 2003 R2 / 2008 / 2008 R2: Rollen, Features, Konfiguration, Troubleshooting


Antwort
     
Themen-Optionen
Alt 28.07.2004, 11:15   #1
Junior Member
 
Offline
Registriert seit: 11-2003
Beiträge: 83
Verschachtelte For-Schleife

Hallo,

ich hab ein kleines Problem - für Hardcore-Batcher sicherlich nicht

Ich habe folgende Problemstellung:
In einer Datei tempdat.txt stehen Dienstnamen und Dienststati drin - das sieht dann so aus:
[Stopped] AppMgmt
[Stopped] BITS
[Stopped] wuauserv

Für alle Dienste in der Datei tempdat.txt führe ich dann folgenden Befehl aus:
for /F "tokens=2" %%i in (%TempDat%) do (
sc start %%i
)

OK - funktioniert soweit.
Dann möchte ich aber nacheinander überprüfen, ob die Dienste auch laufen...dazu hab ich mir das überlegt:

for /F "tokens=2" %%i in (%TempDat%) do (
%sc% \\%computername% query %%i > tempdat2.txt

-> Damit steht jetzt mal der u.g. Ausdruck in der tempdat2.txt drin:

SERVICE_NAME: AppMgmt
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

Anschließend möchte ich nun prüfen, ob der Status = Running ist, eine Meldung ins Eventlog (mit logevent.exe) schreiben und dann die for-Schleife ein zweites Mal durchlaufen für den nächsten Dienstnamen.

Das hier hab ich mal angefangen...aber es tut irgendwie nicht....irgendwo fehlt noch was...aber was????

for /F "tokens=2" %%i in (%TempDat%) do (
%sc% \\%computername% query %%i > %tempdat2%
for /F "skip=3 tokens=4" %%a in (%tempdat2%) do if not defined status set status=%%a
if /I "%STATUS%" EQU "Running" (call %Logevent%) else (call %logevent2%)
)

Weiß da jemand weiter???
Tausend Dank.
    Mit Zitat antworten
Alt 28.07.2004, 12:57   #2
Junior Member
 
Offline
Registriert seit: 11-2003
Beiträge: 83
Hallo,

ich hab jetzt folgendes gemacht - tut auch soweit, aber vielleicht kann mir jemand sagen, wie ich %status% wieder leer bekomme - also ein set status=

for /F "tokens=2" %%i in (%TempDat%) do (
%sc% \\%computername% query %%i > %tempdat2%
( for /F "skip=3 tokens=4" %%a in (%tempdat2%) do if not defined status set status=%%a
echo %status%)
)

An welcher Stelle muß ich nun das set status= setzen??

Danke
    Mit Zitat antworten
Antwort


Themen-Optionen


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Verschachtelte WTS - Lizenzen bernd.dausch Microsoft Lizenzen 1 06.03.2010 09:43
Ldifde (verschachtelte OU) schaedld Windows Forum — Allgemein 2 02.03.2007 12:53
Verschachtelte Gruppenmitgliedschaft funktioniert nicht Wisi Windows Server Forum 6 24.05.2006 15:05
Verschachtelte Gruppen 004 Windows Forum — Allgemein 4 20.01.2005 08:34
verschachtelte Gruppen filtern wintom Windows Forum — LAN & WAN 0 26.01.2004 10:29


Alle Zeitangaben in MEZ/CET. Es ist jetzt 16:48 Uhr. Seite generiert in 0,027 Sekunden.

- Unsere Partner -

Copyright © 2000 – 2012 MCSEboard.de

Sprung zum Seitenanfang