从批处理运行exe时将数组作为命令行参数传递

时间:2017-04-09 20:29:57

标签: arrays windows batch-file

目标是在windows .bat文件中使用以下数组:

set SEARCH_DIR[1]="SomeValue"
set SEARCH_DIR[2]="AnotherValue"
set SEARCH_DIR.length=2

执行例如“someprogram.exe”,其值为SEARCH_DIR作为单独的命令行参数传递。我更喜欢将它作为循环或其他东西而不是手动输入SEARCH_DIR中的每个元素。

我发现了类似的问题,但没有一个回答它的例子。提前致谢。

1 个答案:

答案 0 :(得分:1)

如果找不到匹配100%的示例 你可以尝试自己,这就是程序员所做的。

@Echo off&SetLocal EnableExtensions EnableDelayedExpansion

set SEARCH_DIR[1]="SomeValue"
set SEARCH_DIR[2]="AnotherValue"
set SEARCH_DIR.length=2

Set "AllArgs="
For /L %%C in (1,1,%SEARCH_Dir.length%
) Do Set AllArgs=!AllArgs! !SEARCH_DIR[%%C]!
Echo someprogram.exe %AllArgs%