➡️
Bashに慣れた人向けのPowershell機能備忘録
VBScriptが非推奨になったこともあり、Powershell の需要が高まっているかと思います。
この記事は、主に Bash に慣れている人が、「Bash で言うところの XXXX という機能は Powershell だとどうなるんだろうな?」 という疑問に対する回答を集め備た忘録です。
コマンドライン引数の取得
コマンドライン引数は、配列 $args
で取得できる。
参考: Windows PowerShell クイック リファレンス
shift
する
コマンドライン引数を Bash の場合、コマンドライン引数を一つずらすには、 shift
というコマンドがありますが、Powershell の場合はそれに該当するコマンドはありません。
ただし、変数 $args
は一般的な配列ですので、以下のようにして先頭の要素を捨てる事はできます。
$null, $args = $args
Boolean の定数
$true
と $false
というプリセットの定数Powershell では「自動変数」といいます)が用意されています。
echo
標準出力にプリントする Write-Output "Some String"
Write-Output
のエイリアスとして echo
というコマンドもあるので、以下のような書き方もできます。
echo "Some String"
ちなみに、標準出力と関係なくコンソールに出力したい場合は Write-Host
というコマンドも使えます。
標準エラー出力にプリントする(ついでに例外を Throw することもできる)
Write-Error "Some String"
とすると、エラー出力ができる。
ついでに例外をスローして停止する場合は -ErrorAction
オプションを付ける
Write-Error "Some String" -ErrorAction Stop
復帰不可能な種類のエラーの場合は、こちらにしてしまう方が便利な場合が多い。
Discussion