Script em lote - Iterar por meio de argumentos
Eu tenho um script em lote com vários argumentos. Eu estou lendo a contagem total deles e, em seguida, execute um loop for como este:
@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 )
O que eu quero fazer agora é usar minha variável de execução (x
oucounter
) para acessar os argumentos de entrada. Estou pensando em algo como isto:
REM Access to %1
echo %(!counter!)
Em um mundo ideal, essa linha deve imprimir meu primeiro argumento de linha de comando, mas obviamente não. Eu sei que estou fazendo algo errado com o%
operador, mas existe de qualquer maneira eu poderia acessar meus argumentos como este?
// edit: Apenas para esclarecer as coisas - o problema é que%(!counter!)
me fornece o valor da variávelcounter
. Significado paracounter=2
isso me dá2
e não o conteúdo de%2
.