Clear-Content
删除项的内容,但不删除该项。
语法
Clear-Content
[-Path] <String[]>
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Force]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-UseTransaction]
[-Stream <String>]
[<CommonParameters>]
Clear-Content
-LiteralPath <String[]>
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Force]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-UseTransaction]
[-Stream <String>]
[<CommonParameters>]
Clear-Content
[-Path] <String[]>
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Force]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-UseTransaction]
[<CommonParameters>]
Clear-Content
-LiteralPath <String[]>
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Force]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-UseTransaction]
[<CommonParameters>]
说明
Clear-Content
cmdlet 删除项的内容(例如从文件中删除文本),但不删除该项。 鉴于上述原因,项存在,但没有内容。 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:清除流中的所有数据
此示例演示 Clear-Content
cmdlet 如何在使流保持不变时从备用数据流中清除内容。
第一个命令使用 Get-Content
cmdlet 获取从 Internet 下载的 Copy-Script.ps1
文件中 Zone.Identifier
流的内容。
第二个命令使用 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 之前进行确认。
类型: | 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
。 允许使用通配符。
类型: | String[] |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | True |
-Filter
以提供程序的格式或语言指定筛选器。 此参数值使 Path 参数有效。 筛选器的语法(包括通配符的使用)取决于提供程序。 筛选器比其他参数更有效,因为提供程序是在检索对象时应用筛选器,而不是在检索对象后再由 PowerShell 筛选对象。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | True |
-Force
强制运行命令而不要求用户确认。
类型: | SwitchParameter |
Position: | Named |
默认值: | False |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Include
以字符串数组形式指定此 cmdlet 清除的内容。 此参数值使 Path 参数有效。 请输入路径元素或模式,例如 *.txt
。 允许使用通配符。
类型: | String[] |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | True |
-LiteralPath
指定要删除其内容的项的路径。 与 Path 参数不同,LiteralPath 的值严格按照所键入的形式使用。 不会将任何字符解释为通配符。
如果路径包括转义符,请将其括在单引号 ('
) 中。 单引号告知 PowerShell 不要将任何字符解释为转义序列。
类型: | String[] |
别名: | PSPath |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-Path
指定要删除其内容的项的路径。 允许使用通配符。 此路径必须是指向该项的路径,而不是容器的路径。 例如,必须指定一个或多个文件的路径,而不是目录的路径。 允许使用通配符。 此参数为必需参数,但参数名 (Path) 为可选项。
类型: | String[] |
Position: | 0 |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | True |
-Stream
这是 FileSystem 提供程序提供的动态参数。
指定内容的备用数据流。 如果该流不存在,则此 cmdlet 将创建它。 不支持通配符。
可以使用 Clear-Content
cmdlet 更改任何备用数据流的内容,例如 Zone.Identifier
。 但是,若要取消安全检查(该安全检查可阻止从 Internet 下载的文件),则不建议使用此方法。 如果你已验证下载的文件是安全的,请使用 Unblock-File
cmdlet。
已在 Windows PowerShell 3.0 中引入了此参数。
有关详细信息,请参阅 about_FileSystem_Provider。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-UseTransaction
在活动事务中使用该命令。 仅当正在执行事务时,此参数才有效。 有关详细信息,请参阅 about_transactions。
类型: | SwitchParameter |
别名: | usetx |
Position: | Named |
默认值: | False |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-WhatIf
显示运行该 cmdlet 时会发生什么情况。 cmdlet 未运行。
类型: | SwitchParameter |
别名: | wi |
Position: | Named |
默认值: | False |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
输入
None
不能通过管道将对象传递给此 cmdlet。
输出
None
此 cmdlet 不返回任何输出。
备注
Windows PowerShell 包含 Clear-Content
的以下别名:
clc
可以将 Clear-Content
与 PowerShell FileSystem 提供程序和可操作内容的其他提供程序一起使用。 若要清除不视为内容的项(例如 PowerShell Certificate 或 Registry 提供程序所管理的项),请使用 Clear-Item
。
Clear-Content
cmdlet 用于处理由任何提供程序公开的数据。
若要列出会话中可用的提供程序,请键入 Get-PsProvider
。
有关详细信息,请参阅 about_Providers。