用于ruby devkit tdm

时间:2016-12-23 05:00:57

标签: powershell

尝试使用以下命令

提取Ruby Devkit Tdm包
Start-Process "C:\DevKit-tdm-32-4.5.2-20111229-1559-sfx.exe" -ArgumentList "-o'C:\Ruby-DevKit' -y" -PassThru -Wait

但它有7-zip未知错误。我在Google中找到了NSIS脚本,必须执行此操作,以下是查询,

ExecWait '"$TEMP\${devkit_installer}" x -o"${devkit_path}" -y /silent /noreboot /nocancel /noicons' $1

有没有类似的方法使用PowerShell执行静默解压缩?

1 个答案:

答案 0 :(得分:3)

问题是ArgumentList中文件夹路径周围的单引号,Start-Process没有像您期望的那样传递它们。如果路径中有空格,则只需要它们就可以在这种情况下删除它们:

Start-Process C:\DevKit-tdm-32-4.5.2-20111229-1559-sfx.exe -ArgumentList "-oC:\Ruby-DevKit -y" -PassThru -Wait

如果您刚刚使用call operator运行该命令,它可以正常使用单引号,但安装程序本身并不等待完成,因此脚本会在安装仍在进行时继续。

& C:\DevKit-tdm-32-4.5.2-20111229-1559-sfx.exe -o'C:\Ruby-DevKit' -y

因此,您可以通过两种方式解决问题,具体取决于您是否希望脚本等待安装。