从powershell脚本调用可执行文件(带参数)

时间:2012-09-10 17:45:34

标签: powershell 7zip

我正在从PowerShell调用一个zip实用程序,并且难以直接获取其参数。这是代码:

    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”标志在它和输出目录之间没有空格......

1 个答案:

答案 0 :(得分:5)

尝试这样的事情:

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

&符号告诉PowerShell将表达式更像CMD.exe,但仍然允许变量扩展(以$开头的标记)。