将Array作为批处理脚本中的参数传递

时间:2017-12-05 12:53:21

标签: arrays batch-file arguments

我在批处理脚本中创建了一个数组:

set arr[1]=a
set arr[2]=b
set arr[3]=c

现在我想将此数组作为参数传递给另一个批处理文件 如下:

call :processArr.bat arr

我需要这样做,因为实际上在arr [%% i]中%% i的值是可变的,它可以大于9,对于批处理文件,只能传递9个参数

此外,它必须立即将整个数组传递给批处理文件processArr.bat

请帮忙

1 个答案:

答案 0 :(得分:1)

无需将变量作为脚本参数传递。当您Connect-VIServer -server testvc -flagForExample "commands_list.txt"时,processArr.bat将继承调用脚本定义的所有变量。这是一个演示:

<强> test.bat的:

call processArr.bat

<强> test2.bat:

@echo off & setlocal

for /L %%I in (0,1,5) do set /a "arr[%%I] = %%I << 2"

call test2.bat

输出:

  

检查继承...
  ARR [0] = 0
  ARR [1] = 4
  ARR [2] = 8
  ARR [3] = 12
  ARR [4] = 16
  ARR [5] = 20