Я использую Start-Process
для запуска другого экземпляра Powershell от имени администратора, но когда я пытаюсь передать список аргументов в виде переменной или простой строки, Powershell удаляет кавычки. Ниже приведена команда, которую я использую:
$argu = '-noexit "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Auxiliary\Build\vcvars64.bat"';
powershell Start-Process -Verb RunAs -FilePath powershell -ArgumentList $argu
Это ошибка, которую я получаю:
x86 : The term 'x86' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included,
verify that the path is correct and try again.
At line:1 char:88
+ ... Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Auxiliary\Build\v ...
+ ~~~
+ CategoryInfo : ObjectNotFound: (x86:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
Спасибо заранее за любую помощь.
Обновлять:
$argu = '''-noexit ""C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Auxiliary\Build\vcvars64.bat""''';
powershell Start-Process -Verb RunAs -FilePath powershell -ArgumentList $argu
Это почти исправляет ситуацию, но теперь я получаю сообщение об ошибке выше во втором окне вместо первого.
$argu = '-noexit ""C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Auxiliary\Build\vcvars64.bat""'
- person No Refunds No Returns   schedule 30.07.2018$argu = "-noexit", "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Auxiliary\Build\vcvars64.bat"
Тоже должен это сделать. - person Paxz   schedule 30.07.2018