ChocolyインストーラをPowerShellにバンドルしました。私のスクリプトは、インストールプロセスのための関数を呼び出します。ユーザーはPowerShellで.\install.ps1
を実行するはずです。パッケージがすでにインストールされている場合、出力は次のようになります。ラッパースクリプトでChocolateyの警告メッセージを書き換えてください。
<Packagename> already installed.
Use --force to reinstall, specify a version to install, or try upgrade.
[OK]を、ので、ユーザは.\install.ps1 --force
がトリックを行うだろうと思うはずです。残念ながら、私はPowerShellは、二重ダッシュ(--
)を受け入れるための方法を見つけていないので、私はそれが-force
代わりの--force
を出力してChocolateyから警告メッセージを書き換えることを考えている:
<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がダブルダッシュを受け入れる方法がないことを知っています_ - 何を試しましたか? foreachの($ $の引数のArg) {IF($引数-eq "--force") {$ forceParameter = "--force" }}:いくつかのさらなる調査に – rrirower
は、私はこれを発見しました 質問が発生しました:これは良い解決策ですか? $ forceParameterを自分の関数に簡単に渡すことができます。 –
複数の引数を渡しますか? – rrirower