Clear-Content

删除项的内容(例如从文件中删除文本),但不删除该项。

语法

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

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

说明

Clear-Content cmdlet 删除项的内容(例如从文件中删除文本),但不删除该项。因此,项存在,但没有内容。Clear-Content 与 Clear-Item 相类似,但前者用于处理文件,而不是别名和变量。

参数

-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 清除文件内容(即使该文件是只读的)。不同提供程序有不同的实现。有关详细信息,请参阅 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 (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 所返回对象的类型。

输入

不能通过管道将对象传递给 Clear-Content。

输出

此 cmdlet 不返回任何对象。

说明

还可以使用 Clear-Content 的内置别名“clc”来对其进行引用。有关详细信息,请参阅 about_Aliases。

如果省略 -Path 参数名称,则 Path 的值必须为命令中的第一个参数。例如“clear-content c:\mydir\*.txt”。如果包含参数名称,则可以以任何顺序列出参数。

可以将 Clear-Content 与 Windows PowerShell FileSystem 提供程序和可操作内容的其他提供程序一起使用。若要清除不视为内容的项(例如 Windows PowerShell Certificate 或 Registry 提供程序所管理的项),请使用 Clear-Item。

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

示例 1

C:\PS>clear-content ..\SmpUsers\*\init.txt

说明
-----------
此命令删除 SmpUsers 目录的所有子目录内的“init.txt”文件中的所有内容。不删除这些文件,但它们为空。





示例 2

C:\PS>clear-content -path * -filter *.log -force

说明
-----------
此命令删除当前目录中所有扩展名为“.log”的文件(包括具有只读属性的文件)的内容。路径中的星号 (*) 表示当前目录中的所有项。Force 参数使该命令可对只读文件生效。使用筛选器将该命令限定于扩展名为“.log”的文件,而不是在路径中指定“*.log”,这样可以加快操作的速度。





示例 3

C:\PS>clear-content c:\Temp\* -Include Smp* -Exclude *2* -whatif

说明
-----------
此命令请求对提交命令“clear-content c:\temp\* -include smp* -exclude *2*”后所产生结果的预测。结果将列出会清除的文件;在此示例中,即 Temp 目录中名称以“Smp”开头的文件,但文件名中包括“2”的文件除外。若要执行该命令,请在不带 Whatif 参数的情况下重新运行该命令。





另请参阅

概念

about_providers
Get-Content
Set-Content
Add-Content
Get-Item