网站搜索

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 基础知识的更多主题。

相关文章