Clear-Content
刪除項目的內容,但不會刪除專案。
語法
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>]
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 之前先提示您確認。
類型: | SwitchParameter |
別名: | cf |
Position: | Named |
預設值: | None |
必要: | 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, LP |
Position: | Named |
預設值: | None |
必要: | True |
接受管線輸入: | True |
接受萬用字元: | False |
-Path
指定從中刪除內容之項目的路徑。 允許通配符。 路徑必須是項目的路徑,而不是容器的路徑。 例如,您必須指定一或多個檔案的路徑,而不是目錄的路徑。 允許通配符。 這是必要參數,但參數名稱 (Path) 是選擇性的。
類型: | String[] |
Position: | 0 |
預設值: | None |
必要: | True |
接受管線輸入: | True |
接受萬用字元: | True |
-Stream
這是 FileSystem 提供者提供的動態參數。 此參數僅適用於 Windows。
指定內容的替代數據流。 如果數據流不存在,此 Cmdlet 會建立它。 不支援萬用字元。
您可以使用 Clear-Content
Cmdlet 來變更任何替代資料串流的內容, 例如 Zone.Identifier
。 不過,我們不建議這樣做,以消除封鎖從因特網下載之檔案的安全性檢查。 如果您確認下載的檔案是安全的,請使用 Unblock-File
Cmdlet。
此參數是在 PowerShell 3.0 中引進的。 從 PowerShell 7.2 起, Clear-Content
可以從目錄和檔案清除替代數據流的內容。
如需詳細資訊,請參閱 about_FileSystem_Provider。
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-WhatIf
顯示執行 Cmdlet 後會發生的情況。 未執行 Cmdlet。
類型: | SwitchParameter |
別名: | wi |
Position: | Named |
預設值: | False |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
輸入
None
您無法使用管線將物件傳送至此 Cmdlet。
輸出
None
此 Cmdlet 不會傳回任何輸出。
備註
PowerShell 包含下列的 Clear-Content
別名:
- 所有平臺:
clc
您可以搭配 PowerShell FileSystem 提供者和其他操作內容的提供者使用 Clear-Content
。 若要清除未被視為內容的專案,例如 PowerShell 憑證或登錄提供者所管理的專案,請使用 Clear-Item
。
Cmdlet Clear-Content
的設計目的是要處理任何提供者所公開的數據。
若要列出工作階段中可用的提供者,請輸入 Get-PsProvider
。
如需詳細資訊,請參閱 about_Providers。