如下说明是翻译
: help Remove-Item
产生的帮助信息
.
译者
: Edengundam(
马涛
)
Remove-Item
大纲
删除指定的项目
.
语法
Remove-Item [-path] <string[]> [-recurse] [-force] [-include <string[]>] [-exclude <string[]>] [-filter <string>] [-credential <PSCredential>] [-whatIf] [-confirm] [<CommonParameters>]
Remove-Item [-literalPath] <string[]> [-recurse] [-force] [-include <string[]>] [-exclude <string[]>] [-filter <string>] [-credential <PSCredential>] [-whatIf] [-confirm] [<CommonParameters>]
详细描述
Remove-Item cmdlet
删除一个或多个项目
.
因为此命令被很多提供程序支持
,
因此它能够删除很多种不同类型的项目
,
包括了文件
,
目录
,
注册表键
,
变量
,
别名
,
证书和函数
.
参数
-path <string[]>
指定要删除项目的路径
.
允许使用通配符
.
参数名称
("-Path")
为可选项
.
强制参数
?
|
true
|
参数位置
?
|
1
|
默认值
|
N/A -
必须指定路径
|
允许从管道绑定输入
?
|
true (
根据值
,
根据属性名
)
|
允许通配符扩展
?
|
true
|
-recurse <SwitchParameter>
删除指定位置及其子项中所有项
.
此命令的
Recurse
参数不能正常的工作
.
强制参数
?
|
false
|
参数位置
?
|
named
|
默认值
|
False
|
允许从管道绑定输入
?
|
false
|
允许通配符扩展
?
|
false
|
-force <SwitchParameter>
在不破坏安全性的前提下
,
能够避免影响命令成功执行的限制条件
,
例如
: Force
参数能够覆盖具有只读属性的文件或创建路径中的必要成分
,
但是不会改变人和文件的权限
.
强制参数
?
|
false
|
参数位置
?
|
named
|
默认值
|
False
|
允许从管道绑定输入
?
|
false
|
允许通配符扩展
?
|
false
|
-include <string[]>
只删除指定的项目
.
此参数值用于限定
Path
参数
.
输入一个路径元素或模式
,
例如
"*.txt"
(
此参数允许通配符
)
.
允许使用通配符
.
强制参数
?
|
false
|
参数位置
?
|
named
|
默认值
|
|
允许从管道绑定输入
?
|
false
|
允许通配符扩展
?
|
true
|
-exclude <string[]>
忽略指定的项目
.
此参数值用于限定
Path
参数
.
输入一个路径元素或模式
,
例如
"*.txt"
(
此参数允许通配符
)
.
允许使用通配符
.
强制参数
?
|
false
|
参数位置
?
|
named
|
默认值
|
|
允许从管道绑定输入
?
|
false
|
允许通配符扩展
?
|
|
-filter <string>
指定特定
provider
格式或语言的过滤器
.
此参数值用于限定
Path
参数
.
过滤器的语法取决于
provider
(
是否支持通配符也依赖
provider)
.
过滤器相比其他参数更加有效
,
主要因为
provider
取值时候使用过滤器
,
而不是等到
provider
将所有内容返回后
,
由
Windows PowerShell
过滤对象
.
强制参数
?
|
false
|
参数位置
?
|
named
|
默认值
|
|
允许从管道绑定输入
?
|
false
|
允许通配符扩展
?
|
false
|
-credential <PSCredential>
使用其他凭证进行资源访问认证
. <Credential>
代表着用户名
(
例如
: "User01"
或
"Domain01/User01")
或者
PSCredential
对象
(
例如
:
通过
Get-Credential cmdlet
取得的对象
).
如果此处使用用户名
,
命令执行时会提示输入该用户密码
.
尽管此参数出现
,
但是并非所有
Windows PowerShell
核心
cmdlets
或
providers
支持此功能
.
强制参数
?
|
false
|
参数位置
?
|
named
|
默认值
|
|
允许从管道绑定输入
?
|
true (
根据属性名
)
|
允许通配符扩展
?
|
false
|
-literalPath <string[]>
指定要移除项目的路径
.
与
Path
不同
, LiteralPath
的值被直接使用
,
不会对任何通配符进行解释
.
如果路径中包含了转义字符
,
需要将路径用单引号保护
.
单引号指示
Windows PowerShell
不对字符串中的转义字符进行处理
.
强制参数
?
|
true
|
参数位置
?
|
1
|
默认值
|
|
允许从管道绑定输入
?
|
true (
根据属性名
)
|
允许通配符扩展
?
|
false
|
-whatIf
描述执行此命令将会发生的现象
,
不会真正执行此命令
.
强制参数
?
|
false
|
参数位置
?
|
named
|
默认值
|
|
允许从管道绑定输入
?
|
false
|
允许通配符扩展
?
|
false
|
-confirm
执行命令前提示你进行确认
.
强制参数
?
|
false
|
参数位置
?
|
named
|
默认值
|
|
允许从管道绑定输入
?
|
false
|
允许通配符扩展
?
|
false
|
<
公共参数
>
此命令支持公共参数
: -Verbose, -Debug, -ErrorAction, -ErrorVariable, and -OutVariable.
更多信息
,
输入
, "get-help about_commonparameters".
输入类型
String
注意
更多信息
,
输入
"Get-Help Remove-Item -detailed".
需要技术信息
,
输入
"Get-Help Remove-Item -full".
如果需要为该命令提供多个参数
,
请使用逗号进行分隔
.
例如
, "<parameter-name> <value1>, <value2>".
你可以使用
Remove-Item
内建别名
"del", "erase", "rmdir", "rd", "ri"
或
"rm".
需要更多信息
,
查看
About_Alias
.
例
1
C:/PS>remove-item C:/Test/*.*
此命令将会从
C:/Test
目录中删除所有包含点
(.)
的文件
.
因为命令指定要求出现点
,
因此命令不会删除那些没有文件扩展名的文件和不含有点作为目录名称的目录
.
例
2
C:/PS>remove-item * -include *.doc -exclude *1*
此命令从当前目录删除所有名称中不包含字符
1
且以
doc
作为文件扩展名的文件
.
它使用了通配符
(*)
来指定当前目录中的内容
.
通过使用参数
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
文件
.
因为
Remove-Item 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
参数
,
你将被提示是否删除注册表项中的内容
.
相关链接
Get-Item
Copy-Item
Move-Item
New-Item
Rename-Item
Set-Item
Clear-Item
Invoke-Item
about_namespace