PowerShell,変数を読み取り専用に設定する

スポンサーリンク

鍛錬 555

PowerShell,変数を読み取り専用に設定する

変数を読み取り専用(リードオンリー)に設定するには、Set-Variable にパラメータの -Option を使用します。

以下は、コマンドレット Set-Variable のエイリアスです。

エイリアス
set
sv

 
使用方法は、以下に示す通りです。

sv 変数名 -Option ReadOnly

パラメータ

以下は、上記のパラメータについてです。

パラメータ 機能
-Option オプションを設定する。
読み取り専用に設定する場合は ReadOnly を指定する。
スポンサーリンク

スクリプト

以下は、変数を読み取り専用に設定するスクリプト、read_only.ps1 です。

今回は、変数 $str を読み取り専用に設定しています。

# 変数 $str に文字列 AAA を格納
$str = "AAA"

echo "------------------------"
echo "  変数「`$str」 = $str"
echo "------------------------"



# 変数を読み取り専用に設定
sv str -Option ReadOnly



# 変数 $str に文字列 BBB を格納
$str = "BBB"

echo "------------------------"
echo "  変数「`$str」 = $str"
echo "------------------------"
スポンサーリンク

実行結果

以下は、スクリプト read_only.ps1 を実行しています。

PS D:\tmp>
PS D:\tmp> .\read_only.ps1
------------------------
  変数「$str」 = AAA
------------------------
変数 str は読み取り専用または定数であるため、上書きできません。
発生場所 D:\tmp\read_only.ps1:18 文字:1
+ $str = "BBB"
+ ~~~~~~~~~~~~
    + CategoryInfo          : WriteError: (str:String) [], SessionStateUnauthorizedAccessException
    + FullyQualifiedErrorId : VariableNotWritable

------------------------
  変数「$str」 = AAA
------------------------

 
上記に示した通り、変数 $str を読み取り専用に設定したため、文字列 BBB を格納しようとするとエラーとなりました。

タイトルとURLをコピーしました