Я пытаюсь получить количество переданных аргументов в моем пакетном скрипте.Я нашел соответствующий ответ здесь .Он работал безупречно, пока я не передал аргумент со звездой (*).
argcount.bat
@echo off
setlocal enabledelayedexpansion
set argCount=0
for %%x in (%*) do (
set /A argCount+=1
set "argVec[!argCount!]=%%~x"
)
echo Number of processed arguments: %argCount%
for /L %%i in (1,1,%argCount%) do echo %%i- "!argVec[%%i]!"
Использование:
argcount abc def ghi
Это дает мне 3
аргументов: abc, def, ghi
argcount abc def *ghi jkl
Это также дает мне 3
аргументов: abc, def, jkl
Где я должен получить 4
args: abc def *ghi jkl
Вопрос
Как я могу получить фактическое количество аргументов вместе сзвездный аргумент?