我一直无法理解为什么以下命令不会触发Power-Bi的静默安装 -
Start-Process msiexec -wait -ArgumentList '/i $ENV:Temp\PBIDesktop_x64.msi /qn /norestart ACCEPT_EULA=1'
以下作品 -
Start-Process msiexec -wait -ArgumentList '/i C:\Users\ADMINI~1\AppData\Local\Temp\PBIDesktop_x64.msi /qn /norestart ACCEPT_EULA=1
'
我正在使用提升的ISE,但第一个命令不会产生任何错误,也不会执行任何操作。我认为$ENV:TEMP
没有扩大。请帮忙。
问候,符号
如果您使用单引号而不是双引号,Powershell将不会扩展字符串中的任何内容。所以将代码更改为:
Start-Process msiexec -wait -ArgumentList "/i $ENV:Temp\PBIDesktop_x64.msi /qn /norestart ACCEPT_EULA=1"
这个link描述了报价规则。
简而言之:
> $i = 1
> "Double quotes: $i + $i"
Double quotes: 1 + 1
> 'Single quotes: $i + $i'
Single quotes: $i + $i
希望有所帮助