Clear-Content

刪除項目的內容,但不會刪除專案。

Syntax

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>]

Description

Clear-Content Cmdlet 會刪除項目的內容,例如從檔案中刪除文字,但不會刪除專案。 因此,專案存在,但它是空的。 Clear-Content 類似於 Clear-Item,但它適用於具有內容的專案,而不是具有值的專案。

範例

範例 1:從目錄刪除所有內容

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

此命令會從 init.txt 目錄的所有子目錄中 SmpUsers 的檔案中刪除所有內容。 不會刪除檔案,但檔案是空的。

範例 2:使用通配符刪除所有檔案的內容

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

此命令會刪除目前目錄中擴展名 .log 為擴展名的所有檔案內容,包括具有唯讀屬性的檔案。 路徑中的星號 (*) 代表目前目錄中的所有專案。 Force 參數可讓命令在唯讀檔案上生效。 使用篩選條件將命令限制為擴展名為的檔案 .log ,而不是在路徑中指定 *.log ,讓作業更快速。

範例 3:清除數據流中的所有數據

此範例示範 Cmdlet 如何 Clear-Content 從替代數據流清除內容,同時讓數據流保持不變。

第一個命令會Get-Content使用 Cmdlet 來取得從因特網下載的檔案中Copy-Script.ps1數據流的內容Zone.Identifier

第二個命令會 Clear-Content 使用 Cmdlet 來清除內容。

第三個命令會重複第一個命令。 它會驗證已清除內容,但數據流仍會維持不變。 如果已刪除資料流,此命令會產生錯誤。

您可以使用這樣的方法來清除替代數據流的內容。 不過,不建議排除封鎖從因特網下載之檔案的安全性檢查。 如果您確認下載的檔案是安全的,請使用 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:False
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
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 提供者提供的動態參數。

指定內容的替代數據流。 如果數據流不存在,此 Cmdlet 會建立它。 不支援萬用字元。

您可以使用 Clear-Content Cmdlet 來變更任何替代資料串流的內容, 例如 Zone.Identifier。 不過,我們不建議這樣做,以消除封鎖從因特網下載之檔案的安全性檢查。 如果您確認下載的檔案是安全的,請使用 Unblock-File Cmdlet。

此參數是在 Windows PowerShell 3.0 中引進的。

如需詳細資訊,請參閱 about_FileSystem_Provider

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

-UseTransaction

在作用中交易中包含 命令。 只有在交易進行中時,此參數才有效。 如需詳細資訊,請參閱 about_transactions

Type:SwitchParameter
Aliases:usetx
Position:Named
Default value:False
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 不會傳回任何輸出。

備註

Windows PowerShell 包含下列的 Clear-Content別名:

  • clc

您可以搭配 PowerShell FileSystem 提供者和其他操作內容的提供者使用 Clear-Content 。 若要清除未被視為內容的專案,例如 PowerShell 憑證或登錄提供者所管理的專案,請使用 Clear-Item

Cmdlet Clear-Content 的設計目的是要處理任何提供者所公開的數據。 若要列出工作階段中可用的提供者,請輸入 Get-PsProvider。 如需詳細資訊,請參閱 about_Providers