Liste der Windows-eigenen Kommandos
WIP:Beispiele: VMWare-Services starten und stoppen
Für VMWare Workstation oder den VMWare Player gibt es eine Reihe von Diensten, die man nicht permanent braucht. Eben nur dann, wenn man mit dem entspr. Tool arbeiten möchte.Nachfolgend eine Batchdatei, die eine handvoll Dienst für VMware prüft. Wenn die Services alle nicht laufen, werden sie nach Tastendruck gestartet. Und auch umgekehrt: wenn sie alle laufen, werden sie nach Tastendruck angehalten.
Das Starten und Stoppen von Diensten erfordert Administrator-Rechte.
Funktionsweise:
- Zeile 30 holt bei Aufruf des Skripts den aktuellen Status - in :getStatus (Zeile 45) werden die laufenden Dienste ausgewertet
- Zeile 49: Die Ausgabe von net start wird in eine tempöräre Datei geschrieben und enthält alle laufenden Dienste
- In der Textdatei werden in einem For-Loop (Zeile 50) alle zu prüfenden Dienste mit findstr /c:[Text] gesucht (Zeile 56). Treffer und Nicht-Treffer werden in je einer Statusvariable (OneStopped, OneRunning) festgehalten. Der Status jedes unserer Dienste wird angezeigt.
- Zeile 32: Wenn alle Dienste gestartet sind, werden sie in :startServices (Zeile 61) gestartet.
- Zeile 33: Wenn alle Dienste gestoppt sind, werden sie in :startServices (Zeile 73) gestoppt.
@echo off rem ====================================================================== :: :: VMWARE Service Switcher :: rem ---------------------------------------------------------------------- :: 2007-05-18 v1.0 axel hahn rem ====================================================================== rem ---------------------------------------------------------------------- :: CONFIG rem ---------------------------------------------------------------------- set lServices= set lServices=%lServices% "VMware Authorization Service" set lServices=%lServices% "VMware DHCP Service" set lServices=%lServices% "VMware NAT Service" set lServices=%lServices% "VMware Virtual Mount Manager Extended" set tmpfile=%temp%\services_.tmp rem ---------------------------------------------------------------------- :: MAIN rem ---------------------------------------------------------------------- color 08 echo. echo ===== VMWARE SERVICE SWITCHER ===== echo. call :getStatus rem echo OneStopped - %OneStopped% .. OneRunning - %OneRunning% if "%OneStopped%"=="N" goto stopServices if "%OneRunning%"=="N" goto startServices echo. color cf echo. echo --- CONFUSION: echo some services are running - some dont. echo. goto end rem ---------------------------------------------------------------------- :: SUBS rem ---------------------------------------------------------------------- :getStatus set OneStopped=N set OneRunning=N echo reading service state ... net start >"%tmpfile%" for %%a in (%lServices%) do call :checkService %%a del "%tmpfile%" echo. goto end2 :checkService findstr /c:%1 "%tmpfile%" >nul && ( echo YES: %1 is running && set OneRunning=Y && goto end2) echo NO: %1 is stopped && set OneStopped=Y goto end2 :startServices color 27 echo --- need to START services pause for %%a in (%lServices%) do ( echo ... starting %%a ... net start %%a ) call :getStatus goto end :stopServices color 17 echo --- need to STOP services pause for %%a in (%lServices%) do ( echo ... stopping %%a ... net stop %%a ) call :getStatus goto end rem ---------------------------------------------------------------------- :: END rem ---------------------------------------------------------------------- :end echo --- done pause :end2 rem ---------------------------------------------------------------------- :: EOF rem ----------------------------------------------------------------------