Clear-Variable
删除变量的值。
语法
Clear-Variable
[-Name] <String[]>
[-Include <String[]>]
[-Exclude <String[]>]
[-Force]
[-PassThru]
[-Scope <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
说明
cmdlet Clear-Variable
会删除存储在变量中的数据,但不删除变量。 因此,该变量的值为 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"
此命令将删除名为 Process 的变量的值。 cmdlet 完成操作后,名为 Process 的变量仍然存在,但值为 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 是其父) 。 默认值为 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
默认情况下,此 cmdlet 不返回任何输出。
使用 PassThru 参数时,此 cmdlet 返回表示清除变量 的 PSVariable 对象。
备注
PowerShell 包含以下别名 Clear-Variable
:
所有平台:
clv
若要删除变量及其值,请使用
Remove-Variable
或Remove-Item
。此 cmdlet 不会删除设置为常量或由系统拥有的变量的值,即使使用 Force 参数也是如此。
如果你清除的变量不存在,则此 cmdlet 无效。 它不会创建具有 null 值的变量。