2013-04-22 8 views
11

Ich habe die Verwendung von% * in Batch-Dateien und Befehlszeilen gesehen. Googeln gab mir keine Ergebnisse. Kann jemand die typische Verwendung von% * mit einem Beispiel erklären. DankeWas bedeutet% * in einer Batch-Datei

Antwort

12

Es bedeutet "alle Parameter in der Befehlszeile".

Zum Beispiel, es ist sinnvoll, wenn Sie die Befehlszeile aus Batch-Datei in ein anderes Programm weiterleiten möchten:

REM mybatchfile.cmd 
echo You called this with arguments: %* 
echo I will now forward these to the DIR command. 
dir %* 
3

%* erweitert auf die vollständige Liste der Argumente, die an das Skript übergeben werden.

Sie verwenden es normalerweise, wenn Sie ein anderes Programm oder Skript aufrufen und dieselben Argumente übergeben möchten, die an Ihr Skript übergeben wurden.

6

Ein wichtiger Punkt nicht in einem der vorhergehenden Antworten aufgelistet: %* expandiert nach alle Parameter in der Befehlszeile, auch nach einem SHIFT Betrieb.

Normalerweise wird ein SHIFT Parameter bewegen %2-%1, %3-%2 usw. und %1 ist nicht mehr verfügbar. Aber %* ignoriert alle SHIFT, so dass die vollständige Parameterliste immer verfügbar ist. Dies kann sowohl ein Segen als auch ein Fluch sein.