Clear-Variable
删除变量的值。
语法
Clear-Variable
[-Name] <String[]>
[-Include <String[]>]
[-Exclude <String[]>]
[-Force]
[-PassThru]
[-Scope <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
说明
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。 第二个命令使用调用运算符(&)在新作用域中运行 Clear-Variable 命令。 变量在子范围(虽然不存在)中清除,但在本地范围内未清除该变量。 第三个命令获取$A的值,显示值 3 不受影响。
示例 3:删除指定变量的值
PS C:\> Clear-Variable -Name "Processes"
此命令删除名为 Process 的变量的值。 cmdlet 完成操作后,名为 Process 的变量仍然存在,但值为 null。
参数
-Confirm
在运行 cmdlet 之前,提示你进行确认。
类型: | SwitchParameter |
别名: | cf |
Position: | Named |
默认值: | False |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Exclude
指定此 cmdlet 在操作中省略的项数组。 此参数的值限定 Name 参数。 输入名称元素或模式,例如“s*”。 允许通配符。
类型: | String[] |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | True |
-Force
允许 cmdlet 清除变量,即使它是只读的。 即使使用 Force 参数,cmdlet 也无法清除常量。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Include
指定此 cmdlet 包含在操作中的项数组。 此参数的值限定 Name 参数。 输入名称元素或模式,例如“s*”。 允许通配符。
类型: | String[] |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | True |
-Name
指定要清除的变量的名称。 允许通配符。 此参数是必需的,但参数名称(“Name”)是可选的。
类型: | String[] |
Position: | 0 |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | True |
-PassThru
返回一个对象,该对象表示正在使用的项。 默认情况下,此 cmdlet 不生成任何输出。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Scope
指定此别名有效的范围。
此参数的可接受值为:
- 全球
- 当地
- 脚本
还可以使用相对于当前范围的数字(0 到范围数,其中 0 是当前范围,1 是其父范围)。 本地为默认值。 有关详细信息,请参阅about_Scopes。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-WhatIf
显示 cmdlet 运行时会发生什么情况。 cmdlet 未运行。
类型: | SwitchParameter |
别名: | wi |
Position: | Named |
默认值: | False |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
输入
None
不能通过管道将对象传递给此 cmdlet。
输出
None or System.Management.Automation.PSVariable
使用 PassThru 参数时,此 cmdlet 将生成表示清除变量的 System.Management.Automation.PSVariable 对象。 否则,此 cmdlet 不会生成任何输出。
备注
若要删除变量及其值,请使用 Remove-Variable 或 Remove-Item。
此 cmdlet 不会删除设置为常量或系统拥有的变量的值,即使使用 Force 参数也是如此。
如果清除的变量不存在,则 cmdlet 不起作用。 它不会创建具有 null 值的变量。
还可以通过其内置别名 clv 引用 Clear-Variable。 有关详细信息,请参阅about_Aliases。