我有一个Powershell脚本,该脚本正在调用批处理脚本(在内部运行Perl),当从我的Powershell脚本调用该脚本时,该脚本无法正确解析参数。情况如下。
当手动调用我的批处理/ perl脚本时
test.cmd -tasks "Task A","Task B","Task C"
一切正常,参数“任务A”,“任务B”,“任务C”被视为一个传递给另一个可执行文件的单元。
但是在使用invoke-expression进行调用时>
$fullCommand = "cmd.exe /C C:\test\test.cmd -tasks `"Task A`",`"Task B`",`"Task C`"; Invoke-Expression -Command $fullCommand;
批处理脚本认为每个字符串都是一个单独的参数。换句话说,“任务A”是-tasks之后的第一个参数,然后是“任务B”,然后是“任务C”,脚本无法识别该参数。
我可以通过分别传入每个任务名称来解决此问题(例如-Task“ Task A” -Task“ Task B” -Task“ Task C”),但这需要我有额外的逻辑来解析这些任务,将它们转换为数组,然后将其重新转换为字符串,然后传递回另一个可执行文件。
我有一个Powershell脚本,该脚本正在调用批处理脚本(在内部运行Perl),当从我的Powershell脚本调用该脚本时,该脚本无法正确解析参数。情况如下。当...