Liste der Windows-eigenen Kommandos
call
BefehlKurzbeschreibung
Syntax
Beispiele
VMWare-Services starten und stoppen
Befehl | call |
Kurzbeschreibung | Ruft eine Batchdatei von einer anderen aus auf. |
Syntax | Hinweis: Dies ist ein internes Kommando. Kommando zum Anzeigen der Hilfe: call /? Ruft eine Batchdatei von einer anderen aus auf. CALL [Laufwerk:][Pfad]Dateiname [Parameter] Parameter Bezeichnet beliebige Angaben in der Befehlszeile, die von dem aufgerufenen Batchprogramm benötigt werden. Wenn die Befehlserweiterungen aktiviert sind, wird der CALL-Befehl folgendermaßen verändert: Der CALL-Befehl akzeptiert jetzt Marken als Sprungziele. Die Syntax ist: CALL :Marke Argumente Mit den angegebenen Argumenten wird ein neuer Batchkontext erzeugt und die Programmausführung hinter der angegebenen Marke fortgesetzt. Um die Batch- datei dort tatsächlich zu verlassen, muss man sie zweimal beenden. Beim ersten Erreichen des Endes wird das Programm zu dem Befehl hinter dem CALL-Aufruf zurückkehren. Beim zweiten Mal wird dann die Batchdatei beendet. Geben Sie GOTO /? ein, um weitere Informationen über die Erweiterung von GOTO :EOF zu erhalten, die es Ihnen ermöglicht, eine Batchdatei zu verlassen. Zusätzlich hat sich die Auflösung von Referenzen auf Argumente in Batchdateien (%0, %1 etc.) wie folgt geändert: %* in einer Batchdatei bezieht sich auf alle Argumente (z.B. %1 %2 %3 %4 %5 ...). Die Ersetzung von Batchparametern (%n) wurde erweitert. Sie können jetzt folgende Syntax benutzen: %~1 - Expandiert %1 und entfernt umschließende Anführungszeichen ("). %~f1 - Expandiert %1 zu einem vollständigen Dateinamen. %~d1 - Erzeugt nur den Laufwerkbuchstaben von %1. %~p1 - Erzeugt nur den Pfad von %1. %~n1 - Erzeugt nur den Dateinamen von %1. %~x1 - Erzeugt nur die Dateierweiterung von %1. %~s1 - Der erzeugte Pfad enthält nur kurze Namen. %~a1 - Expandiert %1 zu Dateiattributen. %~t1 - Expandiert %1 zu Datum/Zeit der Datei. %~z1 - Expandiert %1 zur Größe der Datei. %~$PATH:1 - Durchsucht die in der PATH-Umgebungsvariablen angegebenen Verzeichnisse und expandiert die erste gefundene Datei %1 zu dem vollständigen Dateinamen. Wenn der Name der Umgebungsvariablen nicht definiert ist oder diese Datei bei der Suche nicht gefunden wurde, wird dieser Parameter zu einer leeren Zeichenkette expandiert. Diese Parameter können auch miteinander kombiniert werden: %~dp1 - Erzeugt den Laufwerkbuchstaben und Pfad von %1. %~nx1 - Erzeugt den Dateinamen und die Dateierweiterung von %1. %~dp$PATH:1 - Durchsucht die in der PATH-Umgebungsvariablen ange- gebenen Verzeichnisse nach %1 und erzeugt den Lauf- werkbuchstaben und Pfad der ersten gefundenen Datei. %~ftza1 - Erzeugt eine DIR-ähnliche Ausgabezeile von %1. In den angegebenen Beispielen können %1 und PATH durch andere gültige Werte ersetzt werden. Die Syntax von %~ wird durch eine gültige Argument- anzahl beendet. %~ darf nicht mit %* verwendet werden. |
Beispiele | VMWare-Services starten und stoppenFü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:
@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 ---------------------------------------------------------------------- s.a. » for » net start » net stop |