我正在实现GitHub工作流,并且需要在PowerShell下运行带有可变部分的批处理(* .bat)脚本。这似乎不起作用。一个简单的批处理脚本运行良好。但是当我尝试在变量名中插入变量时,
我尝试过这些没有成功:
run: |
$i=2
call "myscript_$i.bat"
run: |
$i=2
.\myscript_$i.bat
run: |
$i=2
.\myscript_${env:i}.bat
有没有一个欧比旺可以帮助您? )
答案 0 :(得分:2)
your own solution有效,Invoke-Expression
should generally be avoided。
要基于带引号的字符串和/或包含变量引用或表达式的名称/路径来调用命令,请使用{ {1}},call operator:
&
(在这种特殊情况下,您甚至可以省略括号run |
$i=2
& ".\myscript_$i.bat"
。)
答案 1 :(得分:0)
好吧,经过一些试验后,此解决方案有效:
run |
$i=2
Invoke-Expression ".\myscript_$i.bat"