Clear-Variable

変数の値を削除します。

構文

Clear-Variable
     [-Name] <String[]>
     [-Include <String[]>]
     [-Exclude <String[]>]
     [-Force]
     [-PassThru]
     [-Scope <String>]
     [-WhatIf]
     [-Confirm]
     [<CommonParameters>]

説明

コマンドレットは Clear-Variable 変数に格納されているデータを削除しますが、変数は削除しません。 その結果、変数の値は NULL (空) です。 変数に指定されたデータ型またはオブジェクト型がある場合、このコマンドレットは変数に格納されているオブジェクトの型を保持します。

例 1: 検索文字列で始まるグローバル変数の値を削除する

Clear-Variable my* -Scope Global

このコマンドは、my で始まる名前を持つグローバル変数の値を削除します。

例 2: 子スコープ内の変数をクリアするが、親スコープはクリアしない

$a=3
&{ Clear-Variable a }
$a

3

これらのコマンドは、子スコープ内の変数をクリアしても親スコープ内の変数はクリアされないことを示します。 最初のコマンドは、変数 $a の値を 3 に設定します。 2 番目のコマンドでは、invoke 演算子 (&) を使用して、新しいスコープでコマンドを実行 Clear-Variable します。 子スコープ内で (存在しない場合も) 変数がクリアされますが、ローカル スコープではクリアされません。 値を取得する 3 番目の $aコマンドは、値 3 が影響を受けていないことを示しています。

例 3: 指定した変数の値を削除する

Clear-Variable -Name "Processes"

このコマンドは、Processes という名前の変数の値を削除します。 コマンドレットが操作を完了した後も、Processes という名前の変数は引き続き存在しますが、値は null です。

パラメーター

-Confirm

コマンドレットの実行前に確認を求めるメッセージが表示されます。

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Exclude

このコマンドレットが操作で省略する項目の配列を指定します。 このパラメーターの値は 、Name パラメーターを修飾します。 「s*」などの名前要素またはパターンを入力します。 ワイルドカードを使用できます。

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Force

読み取り専用である場合でも、コマンドレットが変数をオフにできるようにします。 Force パラメーターを使用しても、コマンドレットは定数をクリアできません。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Include

このコマンドレットが操作に含める項目の配列を指定します。 このパラメーターの値は 、Name パラメーターを修飾します。 「s*」などの名前要素またはパターンを入力します。 ワイルドカードを使用できます。

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Name

クリアする変数の名前を指定します。 ワイルドカードを使用できます。 このパラメーターは必須ですが、パラメーター名 Name は省略可能です。

Type:String[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:True

-PassThru

作業中の項目を表すオブジェクトを返します。 既定では、このコマンドレットによる出力はありません。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Scope

このエイリアスが有効なスコープを指定します。

このパラメーターの有効値は、次のとおりです。

  • Global
  • Local
  • Script

現在のスコープを基準とした数値を使用することもできます (0 からスコープの数まで、0 は現在のスコープ、1 は親)。 既定値は Local です。 詳細については、 about_Scopesを参照してください。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

コマンドレットの実行時に発生する内容を示します。 このコマンドレットは実行されません。

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

入力

None

このコマンドレットにパイプを使用してオブジェクトを渡すことはできません。

出力

None or System.Management.Automation.PSVariable

PassThru パラメーターを使用すると、クリアされた変数を表す System.Management.Automation.PSVariable オブジェクトが生成されます。 それ以外の場合、このコマンドレットによる出力はありません。

メモ

  • 変数とその値を削除するには、次を使用 Remove-Variable または Remove-Itemします。

    このコマンドレットは、 Force パラメーターを使用しても、定数として設定されている変数またはシステムが所有する変数の値を削除しません。

    クリアする変数が存在しない場合、コマンドレットの効果はありません。 null 値を持つ変数は作成されません。

    また、組み込みのエイリアスclvで参照Clear-Variableすることもできます。 詳細については、 about_Aliasesを参照してください。