【发布时间】:2019-09-21 15:36:26
【问题描述】:
我在读取已添加到子例程的参数时遇到问题。这些参数当然可以通过以下方式读取。
call :test one two three
:test
echo %1
echo %2
echo %3
exit /b
但我想循环阅读,只要它们被填满。
我为此做了以下操作,但我没有让它正常工作。 以我对这一切的有限了解。我通常会在 3 个点上请求一个变量。所以%p%。
call :test one two three
:test
set /a p=1
:while
if [%...] NEQ [] (
echo %...
set /a p=p+1
goto :while
)
exit /b
谁能告诉我如何解决这个问题?
【问题讨论】:
-
您需要shft 命令。
-
或者如果只是逐行回显参数,则在
:test子例程中只需要for %%a in (%*) do echo %%a(其中%*是“所有参数”的列表) -
这肯定是一个重复的问题,但我太累了,无法找到一个有好的答案。
-
您需要在
call命令行后面加上exit /B,以免无意中继续执行...
标签: batch-file variables parameters arguments