PowerShellの変数に値をセットしていないにも関わらず、変数の値が残る現象(前回セット時の値が残る)とそのクリア方法です。(確認環境:PowerShell ISE)
目次
サンプル | 変数が残る現象の例 |
変数のクリアの方法 |
変数が残る現象の例
1.変数に値をセットし変数の値を表示します。
$str1 = "a"
$str2 = "b"
$str3 = "c"
Write-Host ("1=" + $str1) # a
Write-Host ("2=" + $str2) # b
Write-Host ("3=" + $str3) # c
実行結果は以下のとおり変数にセットした値がそのまま表示されます。
2.1,2行目の変数に値をセットする箇所をコメントにしました。
5,6行目の変数の値を表示している箇所はそのままで実行します。
#$str1 = "a"
#$str2 = "b"
$str3 = "c"
Write-Host ("1=" + $str1) # a
Write-Host ("2=" + $str2) # b
Write-Host ("3=" + $str3) # c
結果は、1,2行目はコメントにも関わらず前回セットした値が表示されます。
変数のクリアの方法
Remove-Variable 変数名 |
変数のクリアは、コマンドの入力で、Remove-Variable 変数名と入力します。
上記コード1行目の変数str1をクリアしました。変数の前の$は不要です。
変数確認のコードを再度実行すると、対象の箇所がクリアされています。
または、PowerShellのウィンドウを閉じると、変数は削除されます。
以下のMicrosoftのサイトでは、Remove-Variableは変数とその値を削除し、Clear-Variableは変数の値を削除するとなっています。
関連の記事