如何使用 PowerShell 递归删除具有特定名称的文件夹?
我可以使用以下命令删除多个文件夹中具有特定扩展名的文件:
Get-childitem * -include *.scc -recurse | remove-item
但我还需要删除具有特定名称的文件夹 - 特别是当您从 subversion 存储库中拉取文件时 subversion 创建的文件夹(“.svn”或“_svn”) 。
I can delete files with specific extensions in multiple folders with this:
Get-childitem * -include *.scc -recurse | remove-item
But I also need to delete folders with a specific name - in particular those that subversion creates (".svn" or "_svn") when you pull down files from a subversion repo.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我倾向于避免在
Get-ChildItem
上使用-Ininclude
参数,因为它比-Filter
慢。但是在这种情况下(因为它不能表示为-Filter
),这就是我将使用的:或者如果在提示符下键入:
I tend to avoid the
-Include
parameter onGet-ChildItem
as it is slower than-Filter
. However in this instance (since it can't be expressed as a-Filter
), this is what I would use:or if typing this at the prompt:
为了快速删除,使用 -Filter
递归删除具有特定名称的文件夹
-Filter
明显比-Ininclude
快。因此,为了可见性,这里是 @Keith 答案的更快版本:
完全输入:
简短版本:
For fast deletion, use -Filter
To recursively delete a folder with a specific name
-Filter
is significantly faster than-Include
.So, for visibility, here is the faster version of @Keith's answer:
Fully typed-out:
Short version:
这个一个应该做到这一点:
其他版本:
This one should do it:
Other version: