2

Мне нужно запустить mt.exe (часть Visual Studio Express), чтобы встроить манифест приложения в другой исполняемый файл. Обычно mt.exe вызывается из командной строки Visual Studio. Процедура описана здесь.

Мне нужно запустить эту команду из командной строки PowerShell, потому что я хочу сделать это во время бродячей подготовки. Как мне этого добиться?

1 ответ1

0

Вы можете импортировать переменные среды из пакетного скрипта Visual Studio, используя функцию Invoke-CmdScript из этой статьи:

Взять на себя ответственность за переменные среды в PowerShell

Определение функции следующее:

# 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, который устанавливает необходимые переменные среды.

Эта статья также содержит функции Get-Environment и Restore-Environment если вы хотите реализовать область действия для переменных среды, которые устанавливает скрипт Visual Studio.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .