Alle Windows-Kommandos

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

Liste der Windows-eigenen Kommandos

call

Übersicht

Befehl
Kurzbeschreibung
Syntax
Beispiele
     VMWare-Services starten und stoppen


Befehlcall
KurzbeschreibungRuft 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.


--- Hinweis --- 
Diese Seite wurde automatisch erzeugt und muss ggf. noch nachbearbeitet werden.
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 ----------------------------------------------------------------------

s.a. » net stop » net start » for


Übersicht