我需要运行 mt.exe(Visual Studio Express 的一部分)以将应用程序清单嵌入到另一个可执行文件中。通常,mt.exe 是从 Visual Studio 命令提示符调用的。该过程如下所述这里。
我需要从 PowerShell 命令提示符触发此命令,因为我想在 vagrant 配置期间执行此操作。我该如何实现?
答案1
Invoke-CmdScript
您可以使用本文中的函数从 Visual Studio 的批处理脚本导入环境变量:
该函数的定义如下:
# Invokes a Cmd.exe shell script and updates the environment.
function Invoke-CmdScript {
param(
[String] $scriptName
)
$cmdLine = """$scriptName"" $args & set"
& $Env:SystemRoot\system32\cmd.exe /c $cmdLine |
Select-String '^([^=]*)=(.*)$' | ForEach-Object {
$varName = $_.Matches[0].Groups[1].Value
$varValue = $_.Matches[0].Groups[2].Value
Set-Item Env:$varName $varValue
}
}
将此函数放入您的 PowerShell 配置文件中,您可以使用它来运行设置所需环境变量的 Visual Studio 脚本。
如果您想为 Visual Studio 脚本设置的环境变量实现范围,本文还包含Get-Environment
和函数。Restore-Environment