【发布时间】:2017-07-20 18:51:47
【问题描述】:
我正在编写一个用于安装 Autodesk 产品的 powershell 脚本,但遇到了一些问题。
我尝试了很多不同的方法,但一直出错。
使用双引号
(Start-Process "msiexec.exe" -ArgumentList ""/i $dirFiles\ABDS2017\Img\x64\RVT\RVT.msi INSTALLDIR="C:\Program Files\Autodesk\" ADSK_SETUP_EXE=1 /qb!"" -NoNewWindow -Wait -PassThru).ExitCode
错误无法验证参数“ArgumentList”的参数参数为空或为空。
使用变量定义InstallDir
$RevitInstallDir = "C:\Program Files\Autodesk\"
(Start-Process "msiexec.exe" -ArgumentList "/i $dirFiles\ABDS2017\Img\x64\RVT\RVT.msi INSTALLDIR=$RevitInstallDir ADSK_SETUP_EXE=1 /qb!" -NoNewWindow -Wait -PassThru).ExitCode
这样做我得到 msiexec /option 必需参数错误。
也试过这个,单引号和路径上的引号
(Start-Process "msiexec.exe" -ArgumentList "/i $dirFiles\ABDS2017\Img\x64\RVT\RVT.msi INSTALLDIR="C:\Program Files\Autodesk\" ADSK_SETUP_EXE=1 /qb!" -NoNewWindow -Wait -PassThru).ExitCode
我收到一个位置参数找不到接受参数 C:\Program
在 InstallDir 上使用单引号
(Start-Process "msiexec.exe" -ArgumentList "/i $dirFiles\ABDS2017\Img\x64\RVT\RVT.msi INSTALLDIR='C:\Program Files\Autodesk\' ADSK_SETUP_EXE=1 /qb!" -NoNewWindow -Wait -PassThru).ExitCode
这样做我得到 msiexec /option 必需参数错误。
在外面使用单引号
(Start-Process "msiexec.exe" -ArgumentList '/i $dirFiles\ABDS2017\Img\x64\RVT\RVT.msi INSTALLDIR="C:\Program Files\Autodesk\" ADSK_SETUP_EXE=1 /qb!' -NoNewWindow -Wait -PassThru).ExitCode
如果我这样做,它会阻止 $dirFiles 变量工作。
我使用 Start-Process 的原因是因为我有很多安装程序一个接一个,我希望一个安装程序等到一个安装程序完成。任何帮助,将不胜感激!谢谢
编辑:没关系,我想通了。
(Start-Process "msiexec.exe" -ArgumentList "/i $dirFiles\ABDS2017\Img\x64\RVT\RVT.msi INSTALLDIR=""C:\Program Files\Autodesk\"" ADSK_SETUP_EXE=1 /qb!" -NoNewWindow -Wait -PassThru).ExitCode
安装目录的双引号
谢谢
【问题讨论】:
标签: powershell