Batch-Script - Durchlaufen Sie Argumente
Ich habe ein Batch-Skript mit mehreren Argumenten. Ich lese die Gesamtzahl von ihnen und führe dann eine for-Schleife wie folgt aus:
@echo off
setlocal enabledelayedexpansion
set argCount=0
for %%x in (%*) do set /A argCount+=1
echo Number of processed arguments: %argCount%
set /a counter=0
for /l %%x in (1, 1, %argCount%) do (
set /a counter=!counter!+1 )
Was ich jetzt tun möchte, ist meine Laufvariable zu verwenden (x
odercounter
), um auf die Eingabeargumente zuzugreifen. Ich denke über so etwas nach:
REM Access to %1
echo %(!counter!)
In einer idealen Welt sollte diese Zeile mein erstes Befehlszeilenargument ausgeben, aber offensichtlich nicht. Ich weiß, ich mache etwas falsch mit dem%
Operator, aber gibt es trotzdem ich könnte meine Argumente wie folgt zugreifen?
// edit: Nur um es klar zu machen - das Problem ist das%(!counter!)
liefert mir den Wert der Variablencounter
. Bedeutung fürcounter=2
es gibt mir2
und nicht der Inhalt von%2
.