Clear-Content (Microsoft.PowerShell.Management)
Clear-Content
- 模块 :
- Microsoft.PowerShell.Management
删除项目的内容,但不删除该项目。
句法
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>]描述
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 获取 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
- 位置:
命名
- 默认值:
None
- 必需的:
False
- 接受管道输入:
-
False
- 接受通配符:
False
-Credential
笔记
随 PowerShell 安装的任何提供程序均不支持此参数。要在运行此 cmdlet 时模拟其他用户或提升您的凭据,请使用 Invoke-Command。
- 类型 :
PS凭证
- 位置:
命名
- 默认值:
当前用户
- 必需的:
False
- 接受管道输入:
True
- 接受通配符:
False
-Exclude
以字符串数组形式指定此 cmdlet 从内容路径中省略的字符串。此参数的值限定 Path 参数。输入路径元素或模式,例如 *.txt。允许使用通配符。
- 类型 :
String[]
- 位置:
命名
- 默认值:
None
- 必需的:
False
- 接受管道输入:
False
- 接受通配符:
True
-Filter
以提供者的格式或语言指定过滤器。此参数的值限定 Path 参数。过滤器的语法(包括通配符的使用)取决于提供程序。过滤器比其他参数更有效,因为提供程序在检索对象时应用它们,而不是让 PowerShell 在检索对象后过滤对象。
- 类型 :
String
- 位置:
命名
- 默认值:
None
- 必需的:
False
- 接受管道输入:
False
- 接受通配符:
True
-Force
强制运行命令而不要求用户确认。
- 类型 :
SwitchParameter
- 位置:
命名
- 默认值:
False
- 必需的:
False
- 接受管道输入:
False
- 接受通配符:
False
-Include
以字符串数组形式指定此 cmdlet 清除的内容。此参数的值限定 Path 参数。输入路径元素或模式,例如 *.txt。允许使用通配符。
- 类型 :
String[]
- 位置:
命名
- 默认值:
None
- 必需的:
False
- 接受管道输入:
False
- 接受通配符:
True
-LiteralPath
指定从中删除内容的项目的路径。与 Path 参数不同,LiteralPath 的值完全按照键入的方式使用。没有字符被解释为通配符。如果路径包含转义字符,请将其括在单引号 (') 中。单引号告诉 PowerShell 不要将任何字符解释为转义序列。
- 类型 :
String[]
- 别名:
PSPath, LP
- 位置:
命名
- 默认值:
None
- 必需的:
True
- 接受管道输入:
True
- 接受通配符:
False
-Path
指定从中删除内容的项目的路径。允许使用通配符。路径必须是项目的路径,而不是容器的路径。例如,您必须指定一个或多个文件的路径,而不是目录的路径。允许使用通配符。此参数是必需的,但参数名称(Path)是可选的。
- 类型 :
String[]
- 位置:
0
- 默认值:
None
- 必需的:
True
- 接受管道输入:
True
- 接受通配符:
True
-Stream
这是由文件系统提供者提供的动态参数。此参数仅在 Windows 上可用。
指定内容的替代数据流。如果流不存在,此 cmdlet 将创建它。不支持通配符。
您可以使用 Clear-Content cmdlet 更改任何备用数据流的内容,例如 Zone.Identifier。但是,我们不建议将此作为消除阻止从 Internet 下载文件的安全检查的方法。如果您验证下载的文件是否安全,请使用 Unblock-File cmdlet。
此参数是在 PowerShell 3.0 中引入的。从 PowerShell 7.2 开始,Clear-Content 可以清除目录和文件中替代数据流的内容。
有关详细信息,请参阅 about_FileSystem_Provider。
- 类型 :
String
- 位置:
命名
- 默认值:
None
- 必需的:
False
- 接受管道输入:
False
- 接受通配符:
False
-WhatIf
显示 cmdlet 运行时会发生什么情况。该 cmdlet 未运行。
- 类型 :
SwitchParameter
- 别名:
wi
- 位置:
命名
- 默认值:
False
- 必需的:
False
- 接受管道输入:
False
- 接受通配符:
False
输入
无
您无法通过管道将对象传递到此 cmdlet。
输出
无
此 cmdlet 不返回任何输出。
笔记
PowerShell 包含以下 Clear-Content 别名:
所有平台:
clc
您可以将 Clear-Content 与 PowerShell 文件系统提供程序以及其他操作内容的提供程序结合使用。要清除不被视为内容的项目(例如由 PowerShell 证书或注册表提供程序管理的项目),请使用 Clear-Item。
Clear-Content cmdlet 旨在处理任何提供程序公开的数据。要列出会话中可用的提供程序,请输入 Get-PsProvider。有关详细信息,请参阅 about_Providers。