-->

从PowerShell脚本调用可执行文件(W /参数)(Invoke executable (w/p

2019-09-22 06:55发布

我打电话从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”标志不能把它和输出目录之间的空间......

Answer 1:

尝试是这样的:

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

该符号告诉PowerShell来治疗的表达更喜欢的CMD.exe会,但仍允许变量扩展(即以$开始令牌)。



文章来源: Invoke executable (w/parameters) from powershell script