在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"
其中参数是字母数字字符串
答案 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%