Kommando-Übersicht

Eine gute Übersicht der Batch-Kommandos findet man bei ss64.com. Hier gibt es auch Übersichten zu VBScript, PowerShell, etc.

Zu Escape-Zeichen, Delimiters und Quotes gibt es eine separate Seite

Batch-Parameter

Batch-Parameter können an einer beliebigen Stelle innerhalb einer Batch-Datei zum Extrahieren von Informationen zur Umgebungseinstellungen verwandt werden.

Cmd.exe stellt die Variablen %0 bis %9 zur Verfügung. %0 wird durch den Batch-Dateinamen ersetzt und %1 bis %9 durch die entsprechenden Argumente, die in der Befehlszeile eingeben wurde. Für den Zugriff auf Argumente jenseits %9 muss der Shift-Befehl verwandt werden. Der %* Batch-Parameter ist ein Wildcard und verweist auf alle Argumente, die an die Batchdatei übergeben wurden, außer dem Parameter %0.

Batch-Parameter können über Modifikatoren zur Extraktion von Verzeichnis- oder Dateiinformationen angepasst werden. In der folgenden Tabelle sind die möglichen Modifikatoren aufgelistet. Die Bespiele wurden mit folgender Batch-Datei generiert:

echo %0
echo %~0
echo %~f0
echo %~d0
echo %~p0
echo %~n0
echo %~x0
echo %~s0
echo %~a0
echo %~t0
echo %~z0
echo %~$PATH:0
echo %~dp0
echo %~nx0
echo %~dp$PATH:0
echo %~ftza0
pause
Modifikator Beschreibung Beispiel
%1 Liefert den unmodifizierten 1. Kommandozeilen-Paramter. "C:\Develop\UllisTools\mod-param.cmd"
%~1 Erweitert %1 und entfernt alle umgebenden Anführungszeichen (""). C:\Develop\UllisTools\mod-param.cmd
%~f1 Erweitert %1 zu einem vollständigen Pfadnamen. C:\Develop\UllisTools\mod-param.cmd
%~d1 Erweitert %1 zu einem Laufwerksbuchstaben. C:
%~p1 Erweitert %1 zu einem Pfad. \Develop\UllisTools\
%~n1 Erweitert %1 zu einem Dateinamen. mod-param
%~x1 Erweitert %1 zu einer Dateierweiterung. .cmd
%~s1 Erweitert %1 zu einem Pfad mit kurzen Namen. C:\Develop\ULLIST~1\MOD-PA~1.CMD
%~a1 Erweitert %1 zu Dateiattribute. --a--------
%~t1 Erweitert %1 zu Datum und Uhrzeit der Datei. 29.04.2016 09:27
%~z1 Erweitert %1 zu der Größe der Datei. 195
%~$PATH:1 Durchsucht die in der PATH-Umgebungsvariablen aufgeführten Verzeichnisse und erweitert %1 mit dem ersten Treffer zu einem vollständigen Namen. Wenn die Umgebungsvariable nicht definiert ist oder die Datei nicht gefunden wird, wird eine leere Zeichenfolge zurückgeliefert. C:\Develop\UllisTools\mod-param.cmd

Die folgende Tabelle listet die möglichen Kombinationen von Modifikatoren zur Erzeugung zusammengesetzter Ergebnisse.

Modifikator Beschreibung Beispiel
%~dp1 Erweitert %1 zu einem Laufwerksbuchstaben und den Pfad. C:\Develop\UllisTools\
%~nx1 Erweitert %1 zu einem Dateinamen und Dateierweiterung. mod-param.cmd
%~dp$PATH:1 Durchsucht die in der Umgebungsvariable PATH angegebenen Verzeichnisse nach %1 und liefert den Laufwerksbuchstaben und den Pfad der ersten gefundenen Datei. C:\Develop\UllisTools\
%~ftza1 Erweitert %1 zu einem DIR-ähnlichen Ausgabe. --a-------- 29.04.2016 09:27 195 C:\Develop\UllisTools\mod-param.cmd

Der %* Modifikator ist ein besonderer Modifikator, der alle Argumente in einer Batch-Datei darstellt. Dieser Schlüssel kann nicht in Verbindung mit dem %~ Modifikator verwandt werden.

Die %~ Syntax muss mit einem gültigen Argumentwert abgeschlossen werden.

Batch-Parameter nicht auf die gleiche Weise  wie Umgebungsvariablen manipuliert werden. Man kann nicht nach Werten suchen oder ersetzen oder mit Substrings arbeiten. Man kann jedoch den Parameter einer Umgebungsvariablen zuweisen und dann die Umgebungsvariable zu manipulieren.