Подтвердить что ты не робот

Вызов исполняемого файла (w/parameters) из powershell script

Я вызываю zip-утилиту из powershell и имею сложное время, получая ее параметры прямо. Здесь код:

    if (-not (test-path "C:\Program Files (x86)\7-Zip\7z.exe")) {throw "C:\Program Files (x86)\7-Zip\7z.exe needed"} 
    set-alias sz "C:\Program Files (x86)\7-Zip\7z.exe" 

    $argument_1 = "c:\temp\DeployTemp\"
    $argument_0 = "c:\temp\Release\Web_Feature_2012R10_1_1112.prod.com.zip"

    sz x $argument_0 -o$argument_1

Проблема заключается в том, что исполняемый вызов 7zip буквально извлекает в каталог с именем $argument_1 вместо фактического значения, хранящегося в строке. Я попытался избежать значения несколькими способами, но без везения. К сожалению, флаг 7zip "-o" не может иметь пробел между ним и выходным каталогом...

4b9b3361

Ответ 1

Попробуйте что-то вроде этого:

& "$sz" x $argument_0 "-o$argument_1"

Амперсанд говорит PowerShell рассматривать выражение, более похожее на CMD.exe, но все же допускает расширение переменной (токены, начинающиеся с $).