PowerShellで変数の型を確認する方法|GetType()と-is演算子の使い方
目次
スポンサードリンク
PowerShellでは、変数の中身がどの型(文字列、数値、配列など)なのかを簡単に確認できます。本記事では、型を確認するための2つの方法として、 GetType() と -is 演算子を使う方法を解説します。
.GetType().Name で型名を表示する
PowerShellの変数は.NETオブジェクトであり、GetType() メソッドでその型を確認できます。
以下の例では、1行目で $var という変数を宣言し、hello という文字列を代入しています。2行目では、GetType() メソッドで取得したオブジェクトから、.Name プロパティを表示してます。この変数の型は String であることが分かりました。
PS C:\Users\username> $var = "hello"
PS C:\Users\username> $var.GetType().Name
String
なお、.Name は型名のみ表示しますが、名前空間も含む完全な型名を表示したい場合は、.FullName プロパティを使用しましょう。
PS C:\Users\username> $var.GetType().FullName
System.String
-is 演算子で型チェックする方法
-is 演算子を使うと、変数の型がなにか論理的にチェックすることができます。
以下の例では、1行目で $var という変数を宣言し、123 という数値を代入しています。 $var -is [int] では、変数$varが整数か確認しています。変数の型は整数で一致するので、ブール値 True が表示されています。一方 [String] と指定すると False と表示されています。
PS C:\Users\username> $var = 123
PS C:\Users\username> $var -is [int]
True
PS C:\Users\username> $var -is [string]
False
よく利用する型の判定例は以下の通りです
型名 | 判定記述 | 例 |
---|---|---|
文字列 | [string] |
"abc" -is [string] → True |
整数 | [int] |
123 -is [int] → True |
配列 | [array] |
@(1,2,3) -is [array] → True |
日時 | [datetime] |
Get-Date -is [datetime] → True |
ブール値 | [bool] |
$true -is [bool] → True |
ハッシュテーブル | [hashtable] |
@{a=1} -is [hashtable] → True |
PowerShellでは、変数の中身が動的に決まるため、必要に応じて変数の型が意図した通りかチェックしましょう。
PowerShellの基礎を一通り学べるおすすめ書籍
Windows環境で開発やシステム管理を行うエンジニアにとって、PowerShellの知識は非常に重要なスキルセットです。こちらの書籍はサンプルも豊富で手元に置いておきたい一冊です。
コマンドプロンプトのポケットリファレンス:Windows11対応版