PowerShell 中的清除内容
PowerShell 中的 Clear-Content cmdlet 会删除文件的内容,但不会删除文件。它从文件中删除文本,文件仍然存在但为空。
在进行基于文件的操作时,我们经常可能需要清除文件的内容,或者删除指定目录下的所有文件(如日志文件)的内容。 PowerShell 管理模块提供 Clear-Content cmdlet 来清除文件的内容。
在本文中,我将解释如何使用 PowerShell Clear-Content cmdlet 删除文本文件中的内容并清除指定目录中所有文件的内容。
清晰内容语法
PowerShell Clear-Content cmdlet 删除文件的内容。结果,文件存在但文件为空。
Clear-Content
[-Path] <String[]>
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Force]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-Stream <String>]
[<CommonParameters>]清除文件内容
要删除指定目录中文件的内容,请在 PowerShell 中使用 Clear-Content cmdlet,如下所示
Clear-Content -Path .\PowerShell-File.txt
在上面的清除内容示例中,Clear-Content cmdlet 删除 Path 参数指定的文本文件的内容。
删除所有文件的内容
使用 PowerShell 中的 Clear-Content cmdlet 删除给定目录和通配符指定的子目录中的所有 txt 文件的内容。
Clear-Content "*\*.txt" 在上面的 PowerShell 清除内容示例中,Clear-Content 使用指定的通配符 (*) 从目录和子目录中删除文本文件中的内容
清除只读文件的内容
使用 PowerShell 中的 Clear-Content cmdlet 通过 Force 参数从只读文本文件中删除内容。
如果文件是只读的,并且尝试使用 Clear-Content 从文本文件中删除内容,则会抛出如下异常
PS D:\PowerShell> Clear-Content -Path .\DestinationFile.txt
Clear-Content : Access to the path 'D:\PowerShell\DestinationFile.txt' is denied.
At line:1 char:1
+ Clear-Content -Path .\DestinationFile.txt
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : PermissionDenied: (D:\PowerShell\DestinationFile.txt:String) [Clear-Content], Unauthoriz
edAccessException
+ FullyQualifiedErrorId : ClearContentUnauthorizedAccessError,Microsoft.PowerShell.Commands.ClearContentCommand它抛出一个错误
Clear-Content access to the path is denied, ClearContentUnauthorizedAccessError.为了避免在从文件中删除文本时出现未经授权的访问错误,请使用下面的 Force 参数
Clear-Content -Path .\DestinationFile.txt -Force在上面的 PowerShell 示例中,Clear-Content cmdlet 清除 Path 和 Force 参数指定的只读文本文件的内容。
酷提示:如何在 PowerShell 中清除变量值!
结论
我希望上面有关 PowerShell 中的 Clear-Content cmdlet 的文章可以帮助您从文本文件中删除内容,并使用通配符删除目录和子目录中的所有文件内容。
PowerShell管理模块中的Clear-Content删除文件的内容,但并不删除文件。您可以阅读有关如何使用 PowerShell 中的 Add-Content cmdlet 将内容附加到文件的更多信息。
您可以在 ShellGeek 主页上找到有关 PowerShell Active Directory 命令和 PowerShell 基础知识的更多主题。