Clear-Content

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

语法

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

说明

cmdlet Clear-Content 删除项的内容,例如从文件中删除文本,但不删除该项。 鉴于上述原因,项存在,但没有内容。 Clear-Content 类似于 Clear-Item,但它适用于包含内容的项,而不是具有值的项。

示例

示例 1:删除目录中的所有内容

Clear-Content "..\SmpUsers\*\init.txt"

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

示例 2:使用通配符删除所有文件的内容

Clear-Content -Path "*" -Filter "*.log" -Force

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

示例 3:清除流中的所有数据

此示例演示 cmdlet 如何在 Clear-Content 保持流不变的同时清除备用数据流中的内容。

第一个命令使用 Get-Content cmdlet 获取文件中流的内容Zone.IdentifierCopy-Script.ps1,该文件是从 Internet 下载的。

第二个命令使用 Clear-Content cmdlet 清除内容。

第三个命令重复第一个命令。 它验证内容是否已清除,但流仍保留。 如果删除了流,该命令将生成错误。

可以使用类似此方法的方法清除备用数据流的内容。 但是,若要取消安全检查(该安全检查可阻止从 Internet 下载的文件),则不建议使用此方法。 如果验证下载的文件是否安全,请使用 Unblock-File cmdlet。

Get-Content C:\Test\Copy-Script.ps1 -Stream Zone.Identifier

[ZoneTransfer]
ZoneId=3

Clear-Content C:\Test\Copy-Script.ps1 -Stream Zone.Identifier
Get-Content C:\Test\Copy-Script.ps1 -Stream Zone.Identifier

参数

-Confirm

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

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:None
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。 允许使用通配符。

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

-Filter

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

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

-Force

强制运行命令而不要求用户确认。

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

-Include

指定此 cmdlet 清除的内容作为字符串数组。 此参数值使 Path 参数有效。 请输入路径元素或模式,例如 *.txt。 允许使用通配符。

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

-LiteralPath

指定要删除其内容的项的路径。 与 Path 参数不同,LiteralPath 的值严格按照所键入的形式使用。 不会将任何字符解释为通配符。 如果路径包含转义字符,请将其括在单引号 (') 。 单引号指示 PowerShell 不将任何字符解释为转义序列。

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

-Stream

这是 FileSystem 提供程序提供的动态参数。 此参数仅在 Windows 上可用。

指定内容的备用数据流。 如果该流不存在,则此 cmdlet 将创建它。 不支持通配符。

可以使用 Clear-Content cmdlet 更改任何备用数据流的内容,例如 Zone.Identifier。 但是,我们不建议这样做,以消除阻止从 Internet 下载的文件的安全检查。 如果验证下载的文件是否安全,请使用 Unblock-File cmdlet。

此参数是在 PowerShell 3.0 中引入的。 从 PowerShell 7.2 起, Clear-Content 可以从目录和文件中清除备用数据流的内容。

有关详细信息,请参阅 about_FileSystem_Provider

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

-WhatIf

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

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

输入

None

不能通过管道将对象传递给此 cmdlet。

输出

None

此 cmdlet 不返回任何输出。

备注

PowerShell 包含以下别名 Clear-Content

  • 所有平台:
    • clc

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

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