Clear-Variable
変数の値を削除します。
構文
Clear-Variable
[-Name] <String[]>
[-Include <String[]>]
[-Exclude <String[]>]
[-Force]
[-PassThru]
[-Scope <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
説明
Clear-Variable コマンドレットは、変数に格納されているデータを削除しますが、変数は削除しません。 その結果、変数の値は NULL (空) になります。 変数に指定されたデータ型またはオブジェクト型がある場合、このコマンドレットは変数に格納されているオブジェクトの型を保持します。
例
例 1: 検索文字列で始まるグローバル変数の値を削除する
PS C:\> Clear-Variable my* -Scope Global
このコマンドは、my で始まる名前を持つグローバル変数の値を削除します。
例 2: 子スコープ内の変数をクリアするが、親スコープはクリアしない
PS C:\> $a=3
PS C:\> &{ Clear-Variable a }
PS C:\> $a
3
これらのコマンドは、子スコープ内の変数をクリアしても、親スコープの値がクリアされないことを示しています。 最初のコマンドは、変数$Aの値を 3 に設定します。 2 番目のコマンドでは、invoke 演算子 (&) を使用して、新しいスコープで Clear-Variable コマンドを実行します。 変数は子スコープでクリアされますが (存在しませんでしたが)、ローカル スコープではクリアされません。 $Aの値を取得する 3 番目のコマンドは、値 3 が影響を受けていないことを示しています。
例 3: 指定した変数の値を削除する
PS C:\> Clear-Variable -Name "Processes"
このコマンドは、Processes という名前の変数の値を削除します。 コマンドレットが操作を完了しても、Processes という名前の変数は引き続き存在しますが、値は null です。
パラメーター
-Confirm
コマンドレットを実行する前に確認を求めるメッセージが表示されます。
型: | SwitchParameter |
Aliases: | cf |
配置: | Named |
規定値: | False |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Exclude
このコマンドレットが操作で省略する項目の配列を指定します。 このパラメーターの値は、Name パラメーターを修飾します。 "s*" などの名前要素またはパターンを入力します。 ワイルドカードを使用できます。
型: | String[] |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | True |
-Force
読み取り専用の場合でも、コマンドレットで変数をクリアできるようにします。 Force パラメーターを使用しても、コマンドレットは定数をクリアできません。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Include
このコマンドレットが操作に含める項目の配列を指定します。 このパラメーターの値は、Name パラメーターを修飾します。 "s*" などの名前要素またはパターンを入力します。 ワイルドカードを使用できます。
型: | String[] |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | True |
-Name
クリアする変数の名前を指定します。 ワイルドカードを使用できます。 このパラメーターは必須ですが、パラメーター名 ("Name") は省略可能です。
型: | String[] |
配置: | 0 |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | True |
-PassThru
作業中のアイテムを表すオブジェクトを返します。 既定では、このコマンドレットは出力を生成しません。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Scope
このエイリアスが有効なスコープを指定します。
このパラメーターに使用できる値は次のとおりです。
- グローバル
- 地元の
- スクリプト
現在のスコープを基準とする数値を使用することもできます (0 からスコープの数まで、0 は現在のスコープ、1 は親)。 既定値は Local です。 詳細については、「about_Scopes」を参照してください。
型: | String |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-WhatIf
コマンドレットを実行した場合の動作を示します。 コマンドレットは実行されません。
型: | SwitchParameter |
Aliases: | wi |
配置: | Named |
規定値: | False |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
入力
None
このコマンドレットにオブジェクトをパイプすることはできません。
出力
None or System.Management.Automation.PSVariable
PassThru パラメーターを使用すると、このコマンドレットは、クリアされた変数を表す System.Management.Automation.PSVariable オブジェクトを生成します。 それ以外の場合、このコマンドレットは出力を生成しません。
メモ
変数とその値を削除するには、Remove-Variable または Remove-Item を使用します。
このコマンドレットは、Force パラメーターを使用する場合でも、定数として設定されている変数またはシステムが所有する変数の値を削除しません。
クリアする変数が存在しない場合、コマンドレットは無効になります。 null 値を持つ変数は作成されません。
組み込みのエイリアス clv を使用して、Clear-Variable を参照することもできます。 詳細については、「about_Aliases」を参照してください。