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 |