Clear-Item

清除项的内容,但不删除该项。

语法

Clear-Item
     [-Path] <String[]>
     [-Force]
     [-Filter <String>]
     [-Include <String[]>]
     [-Exclude <String[]>]
     [-Credential <PSCredential>]
     [-WhatIf]
     [-Confirm]
     [<CommonParameters>]
Clear-Item
     -LiteralPath <String[]>
     [-Force]
     [-Filter <String>]
     [-Include <String[]>]
     [-Exclude <String[]>]
     [-Credential <PSCredential>]
     [-WhatIf]
     [-Confirm]
     [<CommonParameters>]

说明

Clear-Item cmdlet 会清除项的内容,但不会删除该项。 例如,Clear-Item cmdlet 可以删除变量的值,但不会删除变量。 用于表示清除项的值由每个 PowerShell 提供程序定义。 此 cmdlet 类似于 Clear-Content,但它适用于别名和变量,而不是文件。

示例

示例 1:清除变量的值

此命令清除名为 TestVar1的变量的值。 变量保持不变且有效,但其值设置为 $null。 变量名称以 Variable: 为前缀,以指示 PowerShell 变量提供程序。

备用命令显示,若要获得相同的结果,可以切换到 PowerShell Variable: 驱动器,然后运行 Clear-Item 命令。

Clear-Item Variable:TestVar1

Set-Location Variable:
PS Variable:\> Clear-Item TestVar1

示例 2:清除所有注册表项

此命令清除“MyKey”子项中的所有注册表项,但仅在提示你确认意图之后。 它不会删除“MyKey”子项或影响任何其他注册表项或条目。 可以使用 包括排除 参数来标识特定的注册表项,但不能使用它们来标识注册表项。

  • 若要删除特定注册表项,请使用 Remove-ItemProperty cmdlet。
  • 若要删除注册表项的值,请使用 Clear-ItemProperty cmdlet
Clear-Item HKLM:\Software\MyCompany\MyKey -Confirm

参数

-Confirm

在运行 cmdlet 之前,提示你进行确认。

类型:SwitchParameter
别名:cf
Position:Named
默认值:False
必需:False
接受管道输入:False
接受通配符:False

-Credential

注意

任何随 PowerShell 一起安装的提供程序都不支持此参数。 若要模拟其他用户,或在运行此 cmdlet 时提升凭据,请使用 Invoke-Command

类型:PSCredential
Position:Named
默认值:Current user
必需:False
接受管道输入:True
接受通配符:False

-Exclude

指定此 cmdlet 在作中排除的项或项作为字符串数组。 此参数的值限定 Path 参数。 输入路径元素或模式,例如 *.txt。 允许使用通配符。 仅当命令包含项(如 )的内容(其中通配符指定 C:\Windows\* 目录的内容)时,C:\Windows 参数才有效。

类型:String[]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:True

-Filter

指定用于限定 Path 参数的筛选器。 FileSystem 提供程序是唯一支持使用筛选器的已安装 PowerShell 提供程序。 可以在 about_Wildcards中找到 FileSystem 筛选器语言的语法。 筛选器比其他参数更有效,因为提供程序在 cmdlet 获取对象时应用它们,而不是在检索对象后让 PowerShell 筛选对象。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:True

-Force

指示 cmdlet 清除无法更改的项,例如只读别名。 cmdlet 无法清除常量。 实现因提供程序而异。 有关详细信息,请参阅 about_Providers。 即使使用 Force 参数,cmdlet 也无法替代安全限制。

类型:SwitchParameter
Position:Named
默认值:False
必需:False
接受管道输入:False
接受通配符:False

-Include

指定此 cmdlet 包含在作中的项(作为字符串数组)。 此参数的值限定 Path 参数。 输入路径元素或模式,例如 "*.txt"。 允许使用通配符。 仅当命令包含项的内容(如 )时,C:\Windows\* 参数才有效,其中通配符指定 C:\Windows 目录的内容。

类型:String[]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:True

-LiteralPath

指定一个或多个位置的路径。 LiteralPath 的值与类型化完全相同。 不会将任何字符解释为通配符。 如果路径包含转义字符,请将它括在单引号中。 单引号告知 PowerShell 不要将任何字符解释为转义序列。

有关详细信息,请参阅 about_Quoting_Rules

类型:String[]
别名:PSPath, LP
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-Path

指定要清除的项的路径。 允许使用通配符。 此参数是必需的,但路径 参数名称是可选的。

类型:String[]
Position:0
默认值:None
必需:True
接受管道输入:True
接受通配符:True

-WhatIf

显示 cmdlet 运行时会发生什么情况。 cmdlet 未运行。

类型:SwitchParameter
别名:wi
Position:Named
默认值:False
必需:False
接受管道输入:False
接受通配符:False

输入

String

可以通过管道将路径字符串传递给此 cmdlet。

输出

None

此 cmdlet 不返回任何输出。

备注

PowerShell 包含以下 Clear-Item别名:

  • 所有平台:

    • cli
  • Clear-Item cmdlet 仅受多个 PowerShell 提供程序的支持,包括 别名环境函数注册表变量 提供程序。 因此,可以使用 Clear-Item 删除提供程序命名空间中项的内容。 若要列出会话中可用的提供程序,请键入 Get-PSProvider。 有关详细信息,请参阅 about_Providers

  • 不能使用 Clear-Item 删除文件的内容,因为 PowerShell FileSystem 提供程序不支持此 cmdlet。 若要清除文件,请使用 Clear-Content