两个Bat文件命令转换为PowerShell:
call "%CMD_Env_Path%vcvarsall.bat" x86
call %BUILD_DIR%TFBf.bat %1 %2 %3 %4
要在PS中检索环境变量,请使用:
$env:[environment variable name]
示例:
PS> $env:ComSpec
C:WINDOWSsystem32cmd.exe
最简单的解决方案是通过其CLI(使用/c
参数(委托给cmd.exe
。
以下假设PowerShell脚本接收的前4个位置参数将传递到TFBf.bat
批处理文件,类似于问题中的%1 %2 %3 %4
:
cmd /c @"
call "%CMD_Env_Path%vcvarsall.bat" x86 && call "%BUILD_DIR%TFBf.bat" $($args[0..3].ForEach({ '"{0}"' -f $_ }))
"@