尝试使用以下命令
提取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执行静默解压缩?
答案 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
因此,您可以通过两种方式解决问题,具体取决于您是否希望脚本等待安装。