user3478415
user3478415

Reputation: 45

Windows batch script - extracting variable number of parameters

In a Windows batch script, I want to pass a variable number of arguments, then use the first n-1 of these to build a new variable, and the nth argument as another variable

so if I enter script.cmd arg1 arg2 arg3 arg4, I want to be able to do

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

and if I enter script.cmd arg1 arg2 arg3 arg4 arg5 arg6

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

where the arguments are alphanumeric strings

Upvotes: 1

Views: 205

Answers (1)

Aacini
Aacini

Reputation: 67216

@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%

Upvotes: 2

Related Questions