buxi
Goto Top

nach net stop bzw. start - Ergebnis in Datei schreiben

in batch soll nach Befehlen net stop bzw. net start [Dienstname] das Ergebnis in eine TXT-Logdatei geschrieben
werden

Hallo Community ,

hier eine kleine Aufgabe, die ich noch nicht endg. lösen konnte:
Es sollen in einer Batch mehrere Windows-Dienste gestoppt
bzw. gestartet werden.
Danach wird der Errorlevel in eine log-Datei geschrieben.
Jetzt soll aber auch noch die Statusausgabe des Net stop/
Net Start Befehls in diese Log-Datei geschrieben werden.
Ausgabe ist dabei dann z. B.:
Druckwarteschlange wurde erfolgreich beendet.
Wie kriege ich dann diese Ausgabe auch noch in die LOG-Datei.
Hier das unvollständige Beispiel:
@echo ### Diese BATCH stoppt die Services ###
pause
start /w net stop spooler
@echo ............
@echo - ERRORLEVEL %errorlevel% > C:\Daten\_test\stop.log
@echo - Errorlevel für net stop spooler >> C:\Daten\_test\stop.log
start /w net stop messenger
@echo - ERRORLEVEL %errorlevel% >> C:\Daten\_test\stop.log
@echo - Errorlevel für net stop messenger >> C:\Daten\_test\stop.log
@echo ............
pause

Danke für eure Hilfe.

buxi

Content-ID: 97759

Url: https://administrator.de/contentid/97759

Ausgedruckt am: 15.11.2024 um 05:11 Uhr

bastla
bastla 24.09.2008 um 16:09:33 Uhr
Goto Top
Hallo buxi!

Dafür sollte doch
net stop spooler|findstr /v "wird" >> C:\Daten\_test\stop.log  
(auch ganz ohne "start" ) genügen ...

Grüße
bastla
buxi
buxi 25.09.2008 um 10:59:12 Uhr
Goto Top
Hallo Bastla,

danke für den Vorschlag.
-Das Problem ist damit NICHT gelöst,
ich möchte nur die Statusausgabe
von net stop / net start wegschreiben
in die LOG-Datei.
Wie geht das ( zus. mit dem Errorlevel wäre
das auch gut ).

Gruß

Heiko
bastla
bastla 25.09.2008 um 11:53:59 Uhr
Goto Top
Hallo buxi!

Bei mir sähe das (als Demo direkt an der Eingabezeile) so aus:
C:\>net stop spooler|findstr /v "wird" >> C:\Daten\_test\stop.log  

C:\>type C:\Daten\_test\stop.log
Druckwarteschlange wurde erfolgreich beendet.


C:\>
Eigentlich hatte ich angenommen, Du meintest mit "Statusausgabe" die Meldung "Druckwarteschlange wurde erfolgreich beendet." Um tatsächlich nur diese Meldung zu erhalten, im Batch einfach vor den Befehl noch ein "@" setzen.
Ansonsten: Wäre Dir mit der folgenden Zeile (in einem Batch jeweils %%i anstatt %i) mehr gedient?
for /f "tokens=4" %i in ('sc \\%Computername% query spooler^|findstr "STATE"') do echo Spooler: %i  
Grüße
bastla