はじめに
これまでの記事
対象読者
- Windows PowerShellでコマンドレット操作ができる方
- 何らかのプログラミング経験があればなお良い
必要環境
- Windows PowerShell
変数
変数を宣言する
PowerShellでは、変数は必ず$記号で始まり、文字、数字、記号、およびスペースを組み合わせて指定します。
変数を宣言するには
$var = "Test"
のように変数に値を割り当てるか、New-Variableコマンドレットを使用して
New-Variable var -value "Test"
のように入力します。
また、コンソールウィンドウ上で変数の中身を確認するには、単純に変数名の後に[Enter]キーを押します。
$var[Enter]
変数名は大文字/小文字を区別しないので$var
は$Var
や$VAR
と記述しても同じ変数を指します。
スペースを組み合わせた変数を作成して使用する場合は
${var x} = "Test"
のように、{} を使用します。
変数の型を確認する
先ほどの変数への代入
$var = "Test"
では、文字列(2重引用符で括ることで文字列を表現します)を代入してるため、$var
は.NET FrameworkのString
型となります。
$var
の型を実際に確かめるにはコンソールウィンドウで
$var.GetType()
と入力し、[Enter]キーを押してください。
$var
がString
型であることを確認できました。
今度は、現時点でString
型である$var
に数値を代入してみましょう。コンソールウィンドウで
$var = 3 $var.GetType()
と入力し、[Enter]キーを押してください。
Int32
に変更されていることが分かります。このように、PowerShellの変数は代入した値に合わせて型が自動で決定されます。
PowerShellでは変数の型を明示的に指定することもできます。試しにコンソールウィンドウでint
型の変数$int
を作成し、その後に文字列"Test"
を代入するという実験を行ってみましょう。
[int]$int = 3 $int = "Test"
値 "Test" を型 "System.Int32" に変換できません。 エラー: "入力文字列の形式が正しくありません。" 発生場所 行:1 文字:5 + $int <<<< = "Test"
というエラーが発生します。
このように、明示的に型を指定した場合には、その型以外のデータは代入できなくなります。