Windows批处理脚本 - 提取可变数量的参数

时间:2014-03-30 15:52:16

标签: windows variables batch-file argument-passing

在Windows批处理脚本中,我想传递可变数量的参数,然后使用其中的第一个n-1来构建一个新变量,并将第n个参数作为另一个变量

所以,如果我输入script.cmd arg1 arg2 arg3 arg4,我希望能够

set newvariable1="arg1 arg2 arg3"
set newvariable2="arg4"

如果我输入script.cmd arg1 arg2 arg3 arg4 arg5 arg6

set newvariable1="arg1 arg2 arg3 arg4 arg5"
set newvariable2="arg6"

其中参数是字母数字字符串

1 个答案:

答案 0 :(得分:2)

@echo off
setlocal EnableDelayedExpansion

set "newvariable1="
set "newvariable2="
for %%a in (%*) do (
   set newvariable1=!newvariable1! !newvariable2!
   set newvariable2=%%a
)
set newvariable1="%newvariable1:~2%"
set newvariable2="%newvariable2%"

echo newvariable1=%newvariable1%
echo newvariable2=%newvariable2%