Remove-Item
删除指定项。
语法
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 生成的一个 PSCredential 对象。如果键入用户名,则将提示您输入密码。
随同 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[]>
指定要删除的项的路径。与 Path 不同,LiteralPath 的值严格按照所键入的形式使用。不会将任何字符解释为通配符。如果路径包括转义符,请将其括在单引号中。单引号会告知 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。 |
输出 |
无 此 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 将把搜索对象解释为没有子项的文件,递归检索将失败。
示例 5
C:\PS>remove-item hklm:\software\mycompany\OldApp -recurse
说明
-----------
此命令删除 OldApp 注册表项及其所有子项和值。它使用 Remove-Item cmdlet 删除此注册表项。指定了路径,但是省略了可选的参数名 (Path)。
Recurse 参数可递归删除 OldApp 注册表项的所有内容。如果该注册表项包含子项,而您省略了 Recurse 参数,则会提示您确认是否要删除该注册表项的内容。
另请参阅
概念
about_providers
Clear-Item
Copy-Item
Get-Item
Invoke-Item
Move-Item
New-Item
Remove-ItemProperty
Rename-Item
Set-Item