我已将Chocolatey安装程序捆绑到PowerShell中:我的脚本调用安装过程的函数。用户应该在PowerShell中运行.\install.ps1
。如果已安装该软件包的输出类似于:我应该在我的包装脚本中重写Chocolatey的警告消息吗?
<Packagename> already installed.
Use --force to reinstall, specify a version to install, or try upgrade.
好了,所以用户应该觉得.\install.ps1 --force
会做的伎俩。不幸的是,我发现没有办法让PowerShell来接受双破折号(--
),所以我想从巧克力味重写警告消息,所以它输出的-force
代替--force
:
<Packagename> already installed.
Use -force to reinstall, specify a version to install, or try upgrade.
我setup.ps1
文件类似于:
Install-App <Packagename + parameters>
我的脚本调用函数是类似于:
function Install-App
{
//..code ommited..
$chocoCommand = "choco install <Packagename + parameters>"
iex $chocoCommand
}
我一直在想try/catch,但还没弄明白。
有什么建议吗?
问候
_很遗憾,我找不到PowerShell接受双破折号的方法_--您尝试了什么? – rrirower
对于一些进一步的调查,我发现这一点: 的foreach($精氨酸中的$ args){ 如果 ($ ARG -Eq “--force”) {$ = forceParameter “--force” }} 问题出现了:这是一个很好的解决方案吗?我可以轻松地将$ forceParameter传递给我的函数。 –
你有多个参数可以传递吗? – rrirower