I have a batch-script with multiple arguments. I am reading the total count of them and then run a for loop like this:
@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 )
What I want to do now, is to use my running variable (x or counter) to access the input arguments. I am thinking aobut something like this:
REM Access to %1 
echo %(!counter!)
In an ideal world this line should print out my first command line argument but obviously it doesn't. I know I am doing something wrong with the % operator, but is there anyway I could access my arguments like this?
//edit: Just to make things clear - the problem is that %(!counter!) provides me with the value of the variable counter. Meaning for counter=2 it gives me 2 and not the content of %2.










shiftfor %%x in (%*) do ...will not give the desired result if any parameter contains*or?character. I always use a GOTO loop with SHIFT if I want to load the parameters into an array of variables.