VBScript の Vartype 関数の変換

Windows PowerShell

定義: 変数の内部処理形式を表す値を返します。

Vartype

VBScript では、VarType 関数を使って、特定のデータ型を表す整数値を取得できます (たとえば、9 はオブジェクトを表します)。実は、Windows PowerShell で同じ処理 (実際のデータ型の名前ではなく整数値を取得する) を行う方法がありません。しかし、これはそれほど重要ではありません。

興味のある人のために説明すると、VBScript ではバリアント型として知られているデータ型を使用します。これは、データ型が 2 つの要素で構成されていることを意味しています。型の値が格納されているメモリ部分と、型の説明の部分です。メモリのどこかにデータが格納されていても、それだけでは、そのデータが 32 という値なのか、それともスペース文字なのか、または特定の値を持つ特定のオブジェクトなのかわかりません。このため、VBScript の VarType 関数はバリアント型の型情報を表す整数値を返します。

PowerShell の変数は、型の扱いが厳密です。つまり、VarType 関数とまったく同等のものはありません。PowerShell の変数のデータ型を調べるには、変数の内容を Get-Member コマンドレットに渡します。可能なデータ型すべてにマップする列挙を作成することはできません。その場で新しいデータ型を構成できるため、列挙で無数のデータ型を扱う必要があるからです。言うまでもなく、それは大変な作業でしょう。

「VBScript から Windows PowerShell へ」ホーム ページに戻る