回答:
既存の答えに多くの情報を追加するには、ブールリテラル:$true
と$false
のPowerShell(PS)スクリプトのコマンドラインパラメータとして使用した場合であるとしても仕事。次の名前のファイルに保存されているPSスクリプトの場合installmyapp.ps1
:
param (
[bool]$cleanuprequired
)
echo "Batch file starting execution."
PSコマンドラインからこのPSファイルを呼び出す必要がある場合は、次の方法で実行できます。
installmyapp.ps1 -cleanuprequired $true
または
installmyapp.ps1 -cleanuprequired 1
ここ1
と $true
同等です。また、0
と $false
等価です。
注:文字列リテラルtrue
が自動的にブール値に変換されることを期待しないでください。たとえば、次のコマンドを実行すると、
installmyapp.ps1 -cleanuprequired true
以下のエラーでスクリプトの実行に失敗します:
パラメータ 'cleanuprequired'の引数変換を処理できません。値「System.String」をタイプ「System.Boolean」に変換できません。ブールパラメーターは、$ True、$ False、1、0などのブール値と数値のみを受け入れます。