Skrypt wsadowy - Iteruj przez argumenty
Mam skrypt wsadowy z wieloma argumentami. Czytam ich całkowitą liczbę, a następnie uruchamiam pętlę for taką jak ta:
@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 )
Chcę teraz użyć mojej bieżącej zmiennej (x
lubcounter
), aby uzyskać dostęp do argumentów wejściowych. Mam na myśli coś takiego:
REM Access to %1
echo %(!counter!)
W idealnym świecie ta linia powinna wypisać mój pierwszy argument wiersza poleceń, ale oczywiście tak nie jest. Wiem, że robię coś złego z%
operator, ale czy i tak mogę uzyskać dostęp do moich argumentów?
// edytuj: Aby wyjaśnić - problem polega na tym%(!counter!)
dostarcza mi wartość zmiennejcounter
. Znaczenie dlacounter=2
to daje mi2
a nie treść%2
.