删除变量的值。
语法
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 所返回对象的类型。
输入 |
None 不能通过管道将对象传递到 Clear-Variable。 |
输出 |
None 或 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 变量仍存在,但其为空值。
另请参阅