4

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

4

1 回答 1

5

尝试这样的事情:

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

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

于 2012-09-10T19:27:28.053 回答