刪除指定的項目。
語法
Remove-Item [-LiteralPath] <string[]> [-Credential <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-Force] [-Include <string[]>] [-Recurse] [-Confirm] [-WhatIf] [-UseTransaction] [<CommonParameters>] Remove-Item [-Path] <string[]> [-Credential <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-Force] [-Include <string[]>] [-Recurse] [-Confirm] [-WhatIf] [-UseTransaction] [<CommonParameters>]
描述
Remove-Item Cmdlet 會刪除一個或多個項目。由於受到多種提供者支援,因此它可以刪除許多不同的項目類型,包括檔案、目錄、登錄機碼、變數、別名和函數。
參數
-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 |
-Recurse
刪除位於指定位置,以及位於這些位置的所有子項目中的項目。
在這個 cmdlet 中,Recurse 參數無法正常運作。
必要? |
false |
位置? |
named |
預設值 |
|
接受管線輸入? |
false |
接受萬用字元? |
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 您可經由管道將包含路徑 (但不是常值路徑) 的字串輸出至 Remove-Item。 |
輸出 |
None 這個 Cmdlet 不會傳回任何輸出。 |
附註
您也可以利用 Remove-Item 的內建別名 ("del"、"erase"、"rmdir"、"rd"、"ri" 或 "rm") 參照該命令。如需詳細資訊,請參閱 about_Aliases。
Remove-Item Cmdlet 設計的用意是要操作任一提供者所公開的資料。若要列出可在工作階段中使用的提供者,請輸入 "Get-PsProvider"。如需詳細資訊,請參閱 about_Providers。
範例 1
C:\PS>remove-item C:\Test\*.* 描述 ----------- 這個命令會刪除 C:\Test 目錄中所有檔名內包含點 (.) 的檔案。由於此命令指定了點,因此它不會刪除目錄或是未包含副檔名的檔案。
範例 2
C:\PS>remove-item * -include *.doc -exclude *1* 描述 ----------- 這個命令會從目前目錄,刪除所有副檔名為 .doc 且檔名中不包含 "1" 的檔案。它使用萬用字元 (*) 指定目前目錄的內容。它使用 Include 和 Exclude 參數指定要刪除的檔案。
範例 3
C:\PS>remove-item -path C:\Test\hidden-RO-file.txt -force 描述 ----------- 這個命令會刪除同時為隱藏和唯讀屬性的檔案。它使用 Path 參數指定檔案。它使用 Force 參數授與刪除檔案的權限。若未使用 Force,就無法刪除唯讀或是隱藏屬性的檔案。
範例 4
C:\PS>get-childitem * -include *.csv -recurse | remove-item 描述 ----------- 這個命令會遞迴刪除位在目前目錄及其所有子目錄中的所有 CSV 檔案。 因為此 Cmdlet 中的 Recurse 參數可能有錯,所以這個命令會用 Get-Childitem Cmdlet 取得所需要的檔案,而由管線運算子將這些檔案傳遞到 Remove-Item Cmdlet。 此 Get-ChildItem 命令中的 Path 參數具有 * 值,代表目前目錄的內容。它使用 Include 參數指定 CSV 檔案類型,並使用 Recurse 參數進行遞迴擷取。 若是嘗試在路徑中指定檔案類型 (例如,"-path *.csv"),此 Cmdlet 會將搜尋主體解譯成沒有子項目的檔案,因此會造成 Recurse 失敗。
範例 5
C:\PS>remove-item hklm:\software\mycompany\OldApp -recurse 描述 ----------- 這個命令會刪除 OldApp 登錄機碼及其所有的子機碼和值。它會使用 Remove-Item Cmdlet 移除機碼。路徑已指定,但是省略了選擇性參數名稱 (Path)。 Recurse 參數會遞迴刪除 OldApp 機碼中的所有內容。如果該機碼包含子機碼,且您省略 Recurse 參數,則會提示您確認是否要刪除機碼的內容。
請參閱