Clear-Variable

删除变量的值。

语法

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

说明

Clear-Variable cmdlet 将删除变量中存储的数据,但不删除该变量。因此,该变量的值为 NULL(空)。如果变量具有指定的数据或对象类型,则 Clear-Variable 将保留该变量中存储的对象类型。

参数

-Exclude <string[]>

忽略指定项。此参数的值对 Name 参数进行限定。请输入名称元素或模式,例如“s*”。允许使用通配符。

是否为必需?

false

位置?

named

默认值

是否接受管道输入?

false

是否接受通配符?

false

-Force

允许该 cmdlet 清除变量(即使该变量是只读的)。但 cmdlet 无法清除常量,既便使用了 Force 参数。

是否为必需?

false

位置?

named

默认值

是否接受管道输入?

false

是否接受通配符?

false

-Include <string[]>

只清除指定项。此参数的值对 Name 参数进行限定。请输入名称元素或模式,例如“s*”。允许使用通配符。

是否为必需?

false

位置?

named

默认值

是否接受管道输入?

false

是否接受通配符?

false

-Name <string[]>

指定要清除的变量的名称。允许使用通配符。此参数为必需参数,但参数名(“Name”)为可选项。

是否为必需?

true

位置?

1

默认值

是否接受管道输入?

true (ByPropertyName)

是否接受通配符?

false

-PassThru

返回表示已清除的变量的对象。默认情况下,此 cmdlet 将不产生任何输出。

是否为必需?

false

位置?

named

默认值

是否接受管道输入?

false

是否接受通配符?

false

-Scope <string>

指定此别名的有效作用域。有效值包括“Global”、“Local”、“Script”或者相对于当前作用域的数字(0 到作用域数,其中 0 是指当前作用域,1 是指其父作用域)。默认值为“Local”。有关详细信息,请参阅 about_Scopes。

是否为必需?

false

位置?

named

默认值

是否接受管道输入?

false

是否接受通配符?

false

-Confirm

在执行命令之前提示您进行确认。

是否为必需?

false

位置?

named

默认值

是否接受管道输入?

false

是否接受通配符?

false

-WhatIf

描述如果执行该命令会发生什么情况(无需实际执行该命令)。

是否为必需?

false

位置?

named

默认值

是否接受管道输入?

false

是否接受通配符?

false

<CommonParameters>

此 cmdlet 支持通用参数:-Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer 和 -OutVariable。有关详细信息,请参阅 about_Commonparameters.

输入和输出

输入类型是指可通过管道传递给 cmdlet 的对象的类型。返回类型是指 Cmdlet 所返回对象的类型。

输入

不能通过管道将对象传递到 Clear-Variable。

输出

“无”或 System.Management.Automation.PSVariable

如果使用 PassThru 参数,则 Clear-Variable 生成一个表示已清除变量的 System.Management.Automation.PSVariable 对象。否则,此 cmdlet 将不产生任何输出。

说明

若要删除变量及其值,请使用 Remove-Variable 或 Remove-Item。

Clear-Variable 将不会删除那些设置为常量或归系统所有的变量的值,即使使用 -Force 参数也是如此。

如果正在清除的变量不存在,则 cmdlet 不执行任何操作。它不会创建具有空值的变量。

还可以使用 Clear-Variable 的内置别名“clv”来对其进行引用。有关详细信息,请参阅 about_Aliases。

示例 1

C:\PS>clear-variable my* -global

说明
-----------
此命令删除以“my”开头的全局变量的值。





示例 2

C:\PS>$a=3

C:\PS>&{ clear-variable a }

C:\PS>$a
3

说明
-----------
这些命令演示了在子作用域中清除变量将不会清除父作用域中的值。第一个命令将变量 $a 的值设置为“3”。第二个命令使用调用运算符 (&) 在新作用域中运行 Clear-Variable 命令。在子作用域中清除该变量(尽管它不存在),但不会在本地作用域中清除它。第三个命令用于获取 $a 的值,结果显示值“3”未受影响。





示例 3

C:\PS>clear-variable -name processes

说明
-----------
此命令删除 $processes 变量的值。$processes 变量仍存在,但其为空值。





另请参阅

概念

Get-Variable
Set-Variable
New-Variable
Remove-Variable