次の方法で共有


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」を参照してください。