Windows批处理命令用于解析范围内的输入参数

时间:2015-05-07 21:48:36

标签: batch-file args

如果用户要输入:“program.bat --execute -s 1000 -r 60”

如何将输入提取为从“-s”开始到结尾的一个字符串(结尾可以包含无限数量的参数)。在这种情况下,我想要“-s 1000 -r 60”。

我想做类似的事情:

if "%1"=="--execute"
   grab the rest of the arguments 

我知道%*抓住所有参数,但我只想要-s直到最后。

1 个答案:

答案 0 :(得分:0)

您已经知道%*--execute开头,因此可以安全地删除--execute首次出现的所有内容。

set args=%*
if %1 equ --execute echo args=%args:*--execute=%