Wenn man einer Batch-Datei Parameter übergibt, kann man sie in der Batch mit diversen Substitutionen aufrufen. Während ein einfaches %1 den übergebenen Parameter direkt zurückliefert, würde ein %~z1 die Größe der angegebenen Datei liefern.
%* bezieht sich in der Batch-Datei immer auf alle übergebenen Paramter (also %1 %2 %3 %4 …)
In folgender Tabelle sind die verfügbaren Substitutionen aufgeführt:
| %~1 | entfernt die umschließenden Anführungszeichen |
| %~f1 | erweitert %1 zum vollständig qualifizierten Pfadnamen |
| %~d1 | gibt nur den Laufwerksbuchstaben zurück |
| %~p1 | gibt nur den Pfad zurück |
| %~n1 | gibt nur den Dateinamen zurück |
| %~x1 | gibt nur die Erweiterung der Datei zurück |
| %~s1 | gibt den ganzen Pfad mit kurzen Namen (8.3) zurück |
| %~a1 | gibt die Dateiattribute zurück |
| %~t1 | gibt Datum/Zeit der Datei zurück |
| %~z1 | gibt die Größe der Datei zurück |
| %~$PATH:1 | durchsucht den PATH und liefert den vollständig qualifizierten Pfad des ersten passenden Treffers zurück. Sollte keine passende Datei gefunden werden, wird ein leerer String zurückgeliefert. |
Diese Modifizierer können auch miteinander kombiniert werden, so dass man das zusammengesetzte Ergebnis zurück bekommt:
%~nx1 liefert den Dateinamen und die Erweiterung zurück.
1 thought on “Batch: Substitutionen bei Parametern”