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:移除以搜尋字串開頭的全域變數值

Clear-Variable my* -Scope Global

此命令會移除具有開頭為 my 之名稱的全域變數值。

範例 2:清除子範圍中的變數,但不清除父範圍

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

3

這些命令示範清除子範圍中的變數不會清除父範圍中的值。 第一個命令會將變數 $a 的值設定為 3。 第二個命令會使用 invoke 運算子 (&) 在新範圍中執行 Clear-Variable 命令。 變數會在子範圍中清除(雖然它不存在),但本機範圍中並未清除。 第三個命令會取得的值 $a,顯示值 3 不會受到影響。

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

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

指定這個別名有效的範圍。

此參數可接受的值為:

  • Global
  • Local
  • Script

您也可以使用相對於目前範圍的數位(0 到範圍的數目,其中0是目前的範圍,1是其父系)。 本機是預設值。 如需詳細資訊,請參閱 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

根據預設,此 Cmdlet 不會傳回任何輸出。

PSVariable

當您使用 PassThru 參數時,這個 Cmdlet 會 傳回代表已清除變數的 PSVariable 物件。

備註

PowerShell 包含下列的 Clear-Variable別名:

  • 所有平臺:

    • clv
  • 若要刪除變數及其值,請使用 Remove-VariableRemove-Item

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

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