かべぎわブログ

凄腕エンジニアのブログです

Powershellで必須の引数を定義する

概要

PowerShellをつかって必須の引数を設定してみます。

そもそも引数を設定するには

こんなかんじで設定できる。

Param($ichi, $ni)

# 引数を出力する
Write-Host $ichi
Write-Host $ni

スクリプトを実行したときにたとえばこんなかんじになる。

.\script.ps1 wawawa sasasa
wawawa
sasasa

実行時に変数名をオプションをとして実行することもできる。

 .\script.ps1 -ni sasasa -ichi wawawa
wawawa
sasasa

必須の引数を定義する

本題の必須の引数を定義してみる。

以下のようなかんじで[parameter(mandatory)]$変数名で指定してあげる。
以下は$niを必須に指定している。

Param($ichi, [parameter(mandatory)]$ni)

引数を1つだけ指定して実行すると$niの値の入力を促される。

.\script.ps1 wawawa

cmdlet script.ps1 at command pipeline position 1
Supply values for the following parameters:
ni:

おわりに

usageでいろいろなことを書くのもいいけどこういう制御もちゃんとしてあげたい。

PowerShell実践ガイドブック クロスプラットフォーム対応の次世代シェルを徹底解説

PowerShell実践ガイドブック クロスプラットフォーム対応の次世代シェルを徹底解説