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 Variable 提供程序。

其他命令表明若要获取相同结果,可以切换到 PowerShell Variable: 驱动器,然后运行 Clear-Item 命令。

Clear-Item Variable:TestVar1

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

示例 2:清除所有注册表条目

此命令清除“MyKey”子项中的所有注册表条目,但仅在提示你确认你的意图后才会删除。 此命令不会删除“MyKey”子项,也不会影响其他任何注册表项或条目。 可以使用 Include 参数和 Exclude 参数来标识特定的注册表项,但不能使用这两个参数来标识注册表条目。

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

参数

-Confirm

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

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

注意

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

Type:PSCredential
Position:Named
Default value:Current user
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Exclude

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

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Filter

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

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Force

指示 cmdlet 清除在其他情况下无法更改的项(如只读别名)。 此 cmdlet 不能清除常量。 不同提供程序有不同的实现。 有关详细信息,请参阅 about_Providers。 即使使用 Force 参数,该 cmdlet 也无法覆盖安全限制。

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Include

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

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-LiteralPath

指定一个或多个位置的路径。 LiteralPath 的值严格按照所键入的形式使用。 不会将任何字符解释为通配符。 如果路径包括转义符,请将其括在单引号中。 单引号告知 PowerShell 不要将任何字符解释为转义序列。

有关详细信息,请参阅 about_Quoting_Rules

Type:String[]
Aliases:PSPath, LP
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Path

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

Type:String[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:True

-WhatIf

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

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

输入

String

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

输出

None

此 cmdlet 不返回任何输出。

备注

PowerShell 包含以下 Clear-Item 别名:

  • 所有平台:

    • cli
  • 只有某些 PowerShell 提供程序(包括 Alias、Environment、Function、Registry 和 Variable 提供程序)支持 Clear-Item cmdlet。 因此,可以使用 Clear-Item 删除提供程序命名空间中各项的内容。 若要列出会话中可用的提供程序,请键入 Get-PsProvider。 有关详细信息,请参阅 about_Providers

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