在 Windows 中删除子目录

在 Windows 中删除子目录

有没有办法从目录树的所有级别中删除名为 .svn 的所有子目录,而不触及其他任何内容?rd/s 和 del/s 似乎没有这样做。

答案1

for /r /d %i in (.svn) do rd /s /q "%i"

在批处理文件中使用%%i而不是%i,并确保当前目录位于要从中开始的层次结构的顶部。

编辑:刚刚注意到这也会捕获文件夹结尾,而不.svn只是那些被点名的人.svn

答案2

将以下内容添加到批处理文件中。请先备份文件。

@for /f "tokens=*" %%a in ('dir /s /b /ad *.svn 2^>NUL') do rd /s /q "%%a"

答案3

如果你的硬盘是 NTFS,你可以使用免费的一切搜索引擎

安装后,右键单击目录并选择“搜索所有内容...”。
然后键入 *.svn 以查看所有此类命名的文件和子目录。
单击列表中的第一个,然后键入 ctrl-A 选择整个列表,然后键入 Del 将其全部删除。

答案4

您可以运行 powershell one liner:

dir "PATH" -rec|?{($_.psiscontainer)-and($_.name-eq'.svn')}|rm -fo

相关内容