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

语法

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

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

说明

Clear-Item cmdlet 删除项的值,但不删除该项。例如,Clear-Item 可以删除变量的值,但不会删除该变量。用于表示清除的项的值是由每个 Windows PowerShell 提供程序定义的。Clear-Item 与 Clear-Content 相类似,但前者用于处理别名和变量,而不是文件。

参数

-Credential <PSCredential>

指定有权执行此操作的用户帐户。默认值为当前用户。

键入用户名,如“User01”或“Domain01\User01”;或输入 PSCredential 对象,如 Get-Credential cmdlet 生成的一个 PSCredential 对象。如果键入用户名,则将提示您输入密码。

随同 Windows PowerShell 一起安装的任何提供程序都不支持此参数。

是否为必需?

false

位置?

named

默认值

是否接受管道输入?

true (ByPropertyName)

是否接受通配符?

false

-Exclude <string[]>

忽略指定项。此参数的值对 Path 参数进行限定。请输入路径元素或模式,例如“*.txt”。允许使用通配符。

是否为必需?

false

位置?

named

默认值

是否接受管道输入?

false

是否接受通配符?

false

-Filter <string>

以提供程序的格式或语言指定筛选器。此参数的值对 Path 参数进行限定。筛选器的语法(包括通配符的使用)取决于提供程序。筛选器比其他参数更有效,因为提供程序是在检索对象时应用筛选器,而不是在检索对象后再由 Windows PowerShell 筛选对象。

是否为必需?

false

位置?

named

默认值

是否接受管道输入?

false

是否接受通配符?

false

-Force

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

是否为必需?

false

位置?

named

默认值

是否接受管道输入?

false

是否接受通配符?

false

-Include <string[]>

只清除指定项。此参数的值对 Path 参数进行限定。请输入路径元素或模式,例如“*.txt”。允许使用通配符。

是否为必需?

false

位置?

named

默认值

是否接受管道输入?

false

是否接受通配符?

false

-LiteralPath <string[]>

指定要清除的项的路径。与 Path 不同,LiteralPath 的值严格按照所键入的形式使用。不会将任何字符解释为通配符。如果路径包括转义符,请将其括在单引号中。单引号会告知 Windows PowerShell 不要将所有字符都解释为转义序列。

是否为必需?

true

位置?

1

默认值

是否接受管道输入?

true (ByPropertyName)

是否接受通配符?

false

-Path <string[]>

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

是否为必需?

true

位置?

1

默认值

是否接受管道输入?

true (ByValue, ByPropertyName)

是否接受通配符?

false

-Confirm

在执行命令之前提示您进行确认。

是否为必需?

false

位置?

named

默认值

是否接受管道输入?

false

是否接受通配符?

false

-WhatIf

描述如果执行该命令会发生什么情况(无需实际执行该命令)。

是否为必需?

false

位置?

named

默认值

是否接受管道输入?

false

是否接受通配符?

false

-UseTransaction

将命令包含在活动事务中。仅当正在执行事务时,此参数才有效。有关详细信息,请参阅 about_Transactions。

是否为必需?

false

位置?

named

默认值

是否接受管道输入?

false

是否接受通配符?

false

<CommonParameters>

此 cmdlet 支持通用参数:-Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer 和 -OutVariable。有关详细信息,请参阅 about_Commonparameters.

输入和输出

输入类型是指可通过管道传递给 cmdlet 的对象的类型。返回类型是指 Cmdlet 所返回对象的类型。

输入

System.String

可以通过管道将路径字符串传递给 Clear-Item。

输出

None

此 cmdlet 不返回任何对象。

说明

只有某些 Windows PowerShell 提供程序(包括 Alias、Environment、Function、Registry 和 Variable 提供程序)支持 Clear-Item cmdlet。因此,可以使用 Clear-Item 删除提供程序命名空间中的各项的内容。

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

还可以使用 Clear-Item 的内置别名“cli”来对其进行引用。有关详细信息,请键入“get-help about_Aliases”。

Clear-Item cmdlet 用于处理由任何提供程序公开的数据。要列出会话中可用的提供程序,请键入“Get-PsProvider”。有关详细信息,请参阅 about_Providers。

示例 1

C:\PS>clear-item Variable:TestVar1

说明
-----------
此命令删除变量 Testvar1 的值。该变量仍将保留并且有效,但其值设置为空。
  
该变量名加有前缀“Variable:”以指示 Windows PowerShell Variable 提供程序。要获取相同结果,可以先切换到 Windows PowerShell Variable 提供程序命名空间,然后执行 Clear-Item 命令。

    PS C:> Set-location Variable:
    PS Variable:\> clear-item Testvar1






示例 2

C:\PS>clear-item Alias:log* -include *1* -exclude *3* -whatif

What if: Performing operation "Clear Item" on Target "Item: log1".

说明
-----------
此命令向 Windows PowerShell 询问执行命令“clear-item alias:log* -include *1* -exclude *3”会发生什么。在回答中,Windows PowerShell 解释它会删除 log1 别名的值。

此命令对 log、log2 或 log13 别名不会有任何影响。因为 Alias 提供程序不允许别名没有值,所以在清除别名时还会删除该别名。






示例 3

C:\PS>clear-item registry::HKLM\Software\MyCompany\MyKey -confirm

说明
-----------
此命令删除 MyKey 子项中的所有注册表项,但仅在提示您确认您的意图后才会删除。此命令不会删除 MyKey 子项,也不会影响其他任何注册表项。可以使用 Include 和 Exclude 参数来标识特定的注册表键,但不能使用这些参数来标识注册表项。要删除特定注册表条目,请使用 Remove-ItemProperty。要删除注册表条目的值,请使用 Clear-ItemProperty。






另请参阅




目录