PowerShellで、変数の値が「null」かどうかを判定する方法を解説します。
はじめに
PowerShellでは、null値を表すための自動変数「$null」が用意されています。
今回はこの「$null」を使用して、値がnullかどうかを判定していきます。
判定方法 その1
ここでは、if文を使用して、変数の値が[null]かどうかを判定する方法を説明します。
書式
変数[$null]と条件分岐[if]文を組み合わせることで判定することが出来ます。
if (変数名 -eq $null) { 変数がnullの場合に実行する処理 }
サンプル
変数がnullであるかを確認するサンプルです。
$var if ($var -eq $null) { Write-Host "値は[null]です" }else{ Write-Host "値は[null]ではありません" }
サンプルの実行結果です。
PS C:\workspace\PowerShell> .\test.ps1 値は[null]です
判定方法 その2
ここでは、bool型を使用して、変数の値が[null]かどうかを判定する方法を説明します。
書式
変数をboolでキャストすることで判定することが出来ます。
また、変数をboolでキャストしただけでは、空文字もヒットしてしまうので、空文字にヒットしないように条件を追加しています。
if (-not [bool]変数名 -and 変数名 -ne "") { 変数がnullの場合に実行する処理 }
サンプル
変数がnullであるかを確認するサンプルです。
$var if (-not [bool]$var -and $var -ne "") { Write-Host "値は[null]です" }else{ Write-Host "値は[null]ではありません" }
サンプルの実行結果です。
PS C:\workspace\PowerShell> .\test.ps1 値は[null]です
判定方法 その3
ここでは、IsNullOrEmptyメソッドを使用して、変数の値が[null]かどうかを判定する方法を説明します。
書式
IsNullOrEmptyメソッドを使用することで判定することが出来ます。
また、IsNullOrEmptyメソッドだけでは、空文字もヒットしてしまうので、空文字にヒットしないように条件を追加しています。
if ([String]::IsNullOrEmpty(変数名) -and 変数名 -ne "") { 変数がnullの場合に実行する処理 }
サンプル
変数がnullであるかを確認するサンプルです。
$var if ([String]::IsNullOrEmpty($var) -and $var -ne "") { Write-Host "値は[null]です" }else{ Write-Host "値は[null]ではありません" }
サンプルの実行結果です。
PS C:\workspace\PowerShell> .\test.ps1 値は[null]です
リンク
コメント