Like Aliase, benutzerdefinierten Funktionen Batchdateien und Anwendungsprogramme können die Befehlszeile untersuchen, mit der sie aufgerufen werden. Der Befehlsschwanz (alles in der Befehlszeile nach der Batchdatei oder dem Aliasnamen) ist in einzelne Positionsparameter (auch Parameter oder Batch genannt) unterteilt Variablen), indem Sie nach Leerzeichen, Tabulatoren, Kommas und Gleichheitszeichen (=) suchen, die sie trennen. (Das =-Trennzeichen kann durch Setzen des „“ deaktiviert werden.CMDBatchDelimiters=No"-Direktive in Ihrer TCMD.INI.) Für Aliase und Funktionen ist ein Schrägstrich (/) löst den Beginn eines neuen Parameters aus, z.B. die Saite xyz/abc ist in Parameter unterteilt foo und /ABC.
Diese Parameter sind ab nummeriert %1 zu %4095. %1 bezieht sich auf den ersten Parameter in der Befehlszeile, %2 auf die Sekunde und so weiter. Es liegt an der Batchdatei, die Bedeutung jedes Parameters zu bestimmen. Sie können doppelte Anführungszeichen verwenden, um Leerzeichen, Tabulatoren, Kommas und andere Sonderzeichen in einem Batchdateiparameter zu übergeben. sehen Parameterzitierung für weitere Einzelheiten.
Parameter, auf die in einer Batchdatei verwiesen wird, die aber in der Befehlszeile fehlen, werden in der Batchdatei als leere Zeichenfolgen angezeigt. Wenn Sie beispielsweise eine Batchdatei starten und zwei Parameter in die Befehlszeile eingeben, wird jeder Verweis in der Batchdatei auf %3oder jeder Parameter mit einer höheren Nummer wird als leere Zeichenfolge interpretiert.
Eine Batchdatei kann die in der folgenden Tabelle aufgeführten speziellen Parameter verwenden:
Parameter |
Wert |
%0 |
Der Name der Batchdatei, wie er in der Befehlszeile eingegeben wurde |
%# |
die Anzahl der Befehlszeilenparameter, geändert durch SHIFT |
%n$ |
Der Befehlsschwanz beginnt mit der Parameternummer n, geändert durch SHIFT |
%-n$ |
der Befehlsende von Parameter 1 bis n -1 |
%$ |
der komplette Befehlsschwanz, geändert von SHIFT |
%* |
der komplette Befehlsschwanz, unverändert von SHIFT |
%@ |
die Batch-Dateiargumente (wie %*), aber sie werden alle in doppelte Anführungszeichen gesetzt |
Zum Beispiel, %3$ bedeutet den dritten und alle folgenden Parameter. Die Werte von %#, %n$, %-n$, und %$ ändert sich, wenn Sie das verwenden SHIFT Befehl. Emulieren CMD, SHIFT hat keinen Einfluss auf den Wert von %*.
Wenn Ihre Batchdatei beispielsweise den ersten Parameter als Unterverzeichnisnamen interpretiert, wird die folgende Zeile in das angegebene Verzeichnis verschoben:
CD %1
Eine benutzerfreundlichere Batchdatei würde prüfen, ob das Verzeichnis vorhanden ist, und eine spezielle Aktion ergreifen, wenn dies nicht der Fall ist:
Wenn isdir %1 dann
CD %1
sonst
echo Unterverzeichnis %1 existiert nicht!
verlassen
endiff
(Siehe die IF und IFF Befehle.)
Batch-Dateien können ebenfalls verwendet werden Umgebungsvariablen, interne Variablen und variable Funktionen.
Batch-Dateiparameter können auch das Sonderzeichen verwenden CMD-Kompatibilitätssyntax.