刪除項目的內容,但是不刪除該項目。
語法
Clear-Item [-LiteralPath] <string[]> [-Credential <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-Force] [-Include <string[]>] [-Confirm] [-WhatIf] [-UseTransaction] [<CommonParameters>] Clear-Item [-Path] <string[]> [-Credential <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-Force] [-Include <string[]>] [-Confirm] [-WhatIf] [-UseTransaction] [<CommonParameters>]
描述
Clear-Item Cmdlet 會刪除項目的值,但是不會刪除該項目。例如,Clear-Item 可以刪除變數的值,但是不會刪除該變數。用來代表已清除之項目的值是由每一個 Windows PowerShell 提供者所定義。Clear-Item 類似於 Clear-Content,但只適用於別名及變數,不適用於檔案。
參數
-Credential <PSCredential>
指定具有執行此動作之權限的使用者帳戶。預設為目前使用者。
請輸入使用者名稱,例如 "User01" 或 "Domain01\User01",或是輸入 PSCredential 物件,例如由 Get-Credential Cmdlet 所產生的物件。如果輸入使用者名稱,將會提示您提供密碼。
所有隨 Windows PowerShell 安裝的提供者都不支援此參數。
必要? |
false |
位置? |
named |
預設值 |
|
接受管線輸入? |
true (ByPropertyName) |
接受萬用字元? |
false |
-Exclude <string[]>
忽略指定的項目。此參數的值用於限定 Path 參數。輸入路徑元素或模式,例如 "*.txt"。允許使用萬用字元。
必要? |
false |
位置? |
named |
預設值 |
|
接受管線輸入? |
false |
接受萬用字元? |
false |
-Filter <string>
指定以提供者的格式或語言表示的篩選器。此參數的值用於限定 Path 參數。篩選器的語法 (包括萬用字元的用法) 依提供者而定。篩選器比其他參數更有效率,因為提供者會在擷取物件時套用篩選器,而非等到 Windows PowerShell 擷取物件後才進行篩選。
必要? |
false |
位置? |
named |
預設值 |
|
接受管線輸入? |
false |
接受萬用字元? |
false |
-Force
允許此 Cmdlet 清除無法以其他方式變更的項目,例如唯讀的別名。此 Cmdlet 無法清除常數。實作因提供者而異。如需詳細資訊,請參閱 about_Providers。即便使用 Force 參數,此 Cmdlet 也無法覆寫安全性限制。
必要? |
false |
位置? |
named |
預設值 |
|
接受管線輸入? |
false |
接受萬用字元? |
false |
-Include <string[]>
只清除指定的項目。此參數的值用於限定 Path 參數。輸入路徑元素或模式,例如 "*.txt"。允許使用萬用字元。
必要? |
false |
位置? |
named |
預設值 |
|
接受管線輸入? |
false |
接受萬用字元? |
false |
-LiteralPath <string[]>
指定要清除的項目所在路徑。LiteralPath 與 Path 不同,係取用實際輸入的內容做為參數值。任何字元均不被解譯成萬用字元。如果路徑中包含逸出字元,請將其置於單引號內。單引號係告訴 Windows PowerShell 不要將任何字元解譯成逸出序列。
必要? |
true |
位置? |
1 |
預設值 |
|
接受管線輸入? |
true (ByPropertyName) |
接受萬用字元? |
false |
-Path <string[]>
指定要清除的項目所在路徑。允許使用萬用字元。此參數為必要參數,但參數名稱 ("Path") 則為選擇性。
必要? |
true |
位置? |
1 |
預設值 |
|
接受管線輸入? |
true (ByValue, ByPropertyName) |
接受萬用字元? |
false |
-Confirm
在執行命令前先提示確認。
必要? |
false |
位置? |
named |
預設值 |
|
接受管線輸入? |
false |
接受萬用字元? |
false |
-WhatIf
說明執行命令時將會發生何種情況,但不會實際執行命令。
必要? |
false |
位置? |
named |
預設值 |
|
接受管線輸入? |
false |
接受萬用字元? |
false |
-UseTransaction
將命令加入現用交易中。此參數只有當交易進行中時才有效。如需詳細資訊,請參閱 about_Transactions。
必要? |
false |
位置? |
named |
預設值 |
|
接受管線輸入? |
false |
接受萬用字元? |
false |
<CommonParameters>
這個 Cmdlet 支援一般參數:-Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer 和 -OutVariable。如需詳細資訊,請參閱 about_Commonparameters.
輸入和輸出
輸入型別是可經由管道輸出至 Cmdlet 的物件型別。傳回型別則是 Cmdlet 所傳回的物件型別。
輸入 |
System.String 您可以經由管道將路徑字串輸出至 Clear-Item。 |
輸出 |
無 這個 Cmdlet 不傳回任何物件。 |
附註
此 Clear-Item Cmdlet 只受幾種 Windows PowerShell 提供者支援,包括 Alias、Environment、Function、Registry 和 Variable 等提供者。因此,您可以使用 Clear-Item 刪除這些提供者命名空間中的項目內容。
您不能使用 Clear-Item 刪除檔案的內容,因為 Windows PowerShell FileSystem 提供者並不支援這個 Cmdlet。若要清除檔案,請使用 Clear-Content。
您也可以利用內建的別名 "cli" 來參照 Clear-Item。如需詳細資訊,請輸入 "Get-Help about_Aliases"。
Clear-Item Cmdlet 設計的用意是要操作任一提供者所公開的資料。若要列出可在工作階段中使用的提供者,請輸入 "Get-PsProvider"。如需詳細資訊,請參閱 about_Providers。
範例 1
C:\PS>clear-item Variable:TestVar1 描述 ----------- 這個命令會刪除 Testvar1 變數的值。此變數會保留且為有效狀態,但是其值會設成 Null。 變數名稱的前置詞為 "Varible:",表示 Windows PowerShell Variable 提供者。若要獲得相同結果,您可以先切換成 Windows PowerShell Variable 提供者命名空間,然後再執行 Clear-Item 命令。 PS C:> Set-location Variable: PS Variable:\> clear-item Testvar1
範例 2
C:\PS>clear-item Alias:log* -include *1* -exclude *3* -whatif What if: Performing operation "Clear Item" on Target "Item: log1". 描述 ----------- 這個命令會詢問 Windows PowerShell 如果執行命令 "clear-item alias:log* -include *1* -exclude *3" 時,將會發生何種情況。在回應中,Windows PowerShell 會說明它會刪除 log1 別名的值。 這個命令對 log、log2 或 log13 別名不會有任何效用。因為 Alias 提供者不允許使用沒有值的別名,所以您在清除別名時,同時也會刪除別名。
範例 3
C:\PS>clear-item registry::HKLM\Software\MyCompany\MyKey -confirm 描述 ----------- 這個命令會刪除 MyKey 子機碼中的所有登錄項目,但是只在提示您確認目的之後才進行。它不會刪除 MyKey 子機碼,也不會影響其他任何登錄機碼或項目。您可以使用 Include 和 Exclude 參數識別特定的登錄機碼,但是不能用這些參數識別登錄項目。若要刪除特定的登錄項目,請使用 Remove-ItemProperty。若要刪除登錄項目的值,請使用 Clear-ItemProperty。
請參閱