Alle Windows-Kommandos

Liste der Windows-Kommandozeilentools - Kommandos und -Befehle unter MS Windows

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 ----------------------------------------------------------------------