Batch-Script - перебирать аргументы
У меня есть пакетный скрипт с несколькими аргументами. Я читаю их общее количество, а затем запускаю цикл for следующим образом:
@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 )
Теперь я хочу использовать мою переменную (x
или жеcounter
) для доступа к входным аргументам. Я думаю, что-то вроде этого:
REM Access to %1
echo %(!counter!)
В идеальном мире эта строка должна распечатать мой первый аргумент командной строки, но, очевидно, это не так. Я знаю, что я делаю что-то не так с%
оператор, но есть ли в любом случае, я мог бы получить доступ к моим аргументам, как это?
// редактировать: просто, чтобы прояснить ситуацию - проблема в том, что%(!counter!)
предоставляет мне значение переменнойcounter
, Значение дляcounter=2
это дает мне2
а не содержание%2
.