如何将字符串列表作为参数传递给批处理脚本?

Yai*_*vet 2 batch-file

我的批处理脚本用于处理字符串列表,我想对其进行参数化,因此它将接受该列表作为用户的参数。

这是我的代码当前如何处理此列表的方式:

set QUEUES=cars plans others
FOR %%q IN (%QUEUES%) DO Call :defineQueues %%q
Run Code Online (Sandbox Code Playgroud)

我应该如何将此列表QUEUES作为参数传递给变量?

例如,如何将其传递给此脚本:

myScript.bat ?
Run Code Online (Sandbox Code Playgroud)

Rub*_*bik 6

您必须将字符串用引号引起来:

myScript.bat "cars plans others"
Run Code Online (Sandbox Code Playgroud)

%1等于"cars plans others"

或者%~1%删除引号,只得到cars plans others

否则,您将获得3个不同的参数值:

myScript.bat cars plans others

%1 => cars
%2 => plans
%3 => others
Run Code Online (Sandbox Code Playgroud)