Share via


Clear-Variable

刪除變數的值。

Syntax

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

Description

Clear-Variable Cmdlet 會刪除儲存在變數中的數據,但不會刪除變數。 因此,變數的值是 NULL (空白)。 如果變數具有指定的數據或物件類型,這個 Cmdlet 會保留儲存在變數中的物件類型。

範例

範例 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。 第二個命令會使用 invoke 運算子 (&) 在新範圍中執行 Clear-Variable 命令。 子系範圍內的變數會被清除 (雖然它不存在),但本機範圍內的變數不會被清除。 第三個命令會取得$A的值,顯示值 3 不會受到影響。

範例 3:刪除指定變數的值

PS C:\> Clear-Variable -Name "Processes"

此命令會刪除名為 Processes 的變數值。 Cmdlet 完成作業之後,名為 Processes 的變數仍然存在,但值為 null。

參數

-Confirm

在執行 Cmdlet 前提示您確認。

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

-Exclude

指定此 Cmdlet 在作業中省略的項目陣列。 此參數的值會限定 Name 參數。 輸入名稱元素或模式,例如 "s*"。 允許使用萬用字元。

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

-Force

允許 Cmdlet 清除變數,即使它是唯讀的。 即使使用 Force 參數,Cmdlet 仍然無法清除常數。

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

-Include

指定此 Cmdlet 在作業中納入之項目的陣列。 此參數的值會限定 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

傳回代表您正在使用之項目的物件。 根據預設,此 Cmdlet 不會產生任何輸出。

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

-Scope

指定別名的有效範圍。

此參數可接受的值為:

  • 全球
  • 本機
  • 指令碼

您也可以使用相對於目前範圍的數位, (0 到範圍數目,其中 0 是目前的範圍,而 1 是其父系) 。 Local 為預設值。 如需詳細資訊,請參閱 about_Scopes。

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

-WhatIf

顯示執行 Cmdlet 後會發生的情況。 Cmdlet 並不會執行。

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

輸入

None

您無法使用管線將物件傳送至此 Cmdlet。

輸出

None or System.Management.Automation.PSVariable

當您使用 PassThru 參數時,此 Cmdlet 會產生代表已清除變數的 System.Management.Automation.PSVariable 物件。 否則,此 Cmdlet 不會產生任何輸出。

備註

  • 若要刪除變數與其值,請使用 Remove-Variable 或 Remove-Item。

    即使您使用 Force 參數,此 Cmdlet 不會刪除設定為常數或由系統擁有的變數值。

    如果您清除的變數不存在,Cmdlet 不會有任何作用。 它不會建立具有 null 值的變數。

    您也可以依內建別名 clv 來參考 Clear-Variable 。 如需詳細資訊,請參閱 about_Aliases。