Wenn Sie nur einige Shell-Skripte in Batch-Dateien konvertieren, gibt es eine Sache, die ich anscheinend nicht finden kann ... und das ist eine einfache Zählung der Anzahl der Befehlszeilenargumente.
z.B. Wenn Sie haben:
myapp foo bar
In Shell:
- $ # -> 2
- $ * -> foo bar
- $ 0 -> myapp
- $ 1 -> foo
- $ 2 -> bar
Im Batch
- ?? -> 2 <---- welcher Befehl?!
- % * -> foo bar
- % 0 -> myapp
- % 1 -> foo
- % 2 -> bar
Ich habe mich also umgesehen und entweder an der falschen Stelle gesucht oder bin blind, aber ich kann anscheinend keinen Weg finden, um die Anzahl der übergebenen Befehlszeilenargumente zu ermitteln.
Gibt es einen Befehl ähnlich dem "$ #" der Shell für Batch-Dateien?
ps. Das nächste, was ich gefunden habe, ist, die% 1s zu durchlaufen und 'shift' zu verwenden, aber ich muss% 1,% 2 usw. später im Skript erneut referenzieren, damit das nicht gut ist.
2 myapp foo bar
?