Powershell 如何在Windows批处理文件中传递字符串数组

Powershell 如何在Windows批处理文件中传递字符串数组,powershell,batch-file,Powershell,Batch File,我将下面的命令作为Windows批处理文件保存在中,只需一个参数即可正常运行 start /d "C:\TestRunner\bin\Release" Runner.exe "99F46289-3B9D-4D21-AE53-E8AD9F502BE2" 我想给它发送一个字符串数组,如下所示 //args = new[] { "99F46289-3B9D-4D21-AE53-E8AD9F502BE2", "1" }; 如何格式化命令以使用字符串数组在上面运行?数组只不过是一种通过索引分隔内存

我将下面的命令作为Windows批处理文件保存在中,只需一个参数即可正常运行

start /d "C:\TestRunner\bin\Release" Runner.exe   "99F46289-3B9D-4D21-AE53-E8AD9F502BE2"
我想给它发送一个字符串数组,如下所示

//args = new[] { "99F46289-3B9D-4D21-AE53-E8AD9F502BE2", "1" };

如何格式化命令以使用字符串数组在上面运行?

数组只不过是一种通过索引分隔内存的方法,cmd.exe只要稍加创新就可以做到这一点。你应该更清楚地说明你想在这里做什么。下面是如何从cmd.exe创建数组

@echo off
set my_string_array="item1" "0" "item2" "1" "item3" "3"
call :process_array %my_string_array%
goto :EOF

:process_array
if "%~1"=="" goto :EOF
echo Current array %~1=%~2
shift && shift
goto :process_array

我认为你可以修改exe文件,这是一个例子。 c#计划:

要启动的命令:

start ConsoleApp3.exe par01 par02 par03 par04
以及输出:

Argument: par01
Argument: par02
Argument: par03
Argument: par04
End

批处理语言没有数组的概念,它只能将字符串参数传递给其他程序。解释这些字符串取决于每个目标程序,因此您需要查阅
Runner.exe
的文档,了解数组是否可以传递以及如何传递;有时这只是意味着数组元素必须作为单独的参数传递。我只是想将其作为注释发布,但我无法让格式以这种方式工作。
Argument: par01
Argument: par02
Argument: par03
Argument: par04
End