![如何在 PowerShell 命令提示符中执行 mt.exe](https://linux22.com/image/1523370/%E5%A6%82%E4%BD%95%E5%9C%A8%20PowerShell%20%E5%91%BD%E4%BB%A4%E6%8F%90%E7%A4%BA%E7%AC%A6%E4%B8%AD%E6%89%A7%E8%A1%8C%20mt.exe.png)
我需要运行 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