PowerShell: 変数を宣言・初期化する方法
PowerShellで変数を宣言・初期化する方法は 「New-Variable」コマンドレットを使用する方法と、 使用しない方法があります。 それぞれの方法を紹介した後に、データ型についても簡単に説明します。
New-Variableで変数を宣言・初期化する方法
「New-Variable」コマンドレットを使って変数を宣言する場合は、 変数名の後に「-Value」オプションで初期化することができます。書式
New-Variable 変数名 -Value 値
次のサンプルコードでは変数「a」を宣言、値を1で初期化しています。 注意点としては、「New-Variable」コマンドレットの後の変数名の部分には 「$」記号が付きません。宣言した後に変数を使用する場合は「$」記号が必要です。
New-Variable a -Value 1 $a = 2 Write-Host $a # 2
New-Variableを使わない方法
上のコードは次のように書くこともできます。
$a = 1 $a = 2 Write-Host $a # 2
最初の「$a = 1」の部分が宣言と初期化を兼ねており、 こちらの書き方の方がシンプルです。
あと、PowerShellでは変数の大文字と小文字を区別しないため、 「$a」も「$A」も同じ変数とみなされます。
$a = 1 $A = 2 Write-Host $a # 2
データ型の指定は不要
PowerShellではデータ型の指定は必要ありません。 PowerShell側で自動的に判断してくれます。
次のサンプルコードでは変数「$a」は数値型、 「$b」は文字列型になり、 「変数.GetType()」でデータ型を確認できます。
$a = 1 $b = "hello" Write-Host $a.GetType() Write-Host $b.GetType() # 実行結果 System.Int32 System.String
変数のデータ型を指定せずに使用する場合は、 途中で異なるデータ型の値を代入しても大丈夫です。 次のコードでは、変数「$a」に数値を入れた次の行で 文字列を代入しています。 おすすめはしませんが、このような使用方法も可能です。
$a = 1 $a = "hello" Write-Host $a # hello
変数のデータ型を明示的に指定する方法については
以下のページを参考にしてください。
(変数のデータ型を確認・指定する)
(まとめ記事: PowerShell 変数)