命令行工具在 Windows 中递归删除具有指定名称的文件夹?

我想删除每个文件夹和子文件夹中的每个“ _ svn”..。

比如说

c:\
proyect1
_svn
images
_svn
banner
_svn
buttons
_svn


然后我就开始

rm-recurse c:\proyect1 _svn

我应该得到:

c:\
proyect1
images
banner
buttons

理想的东西将是一个微小的独立 EXE 或类似的东西。

-- 谢谢 Grant,当我发布这个问题时,我看到了关于 SVN export 命令的 SVN文档,但是我也想删除 Visual Studio 创建的 _ vti _ * 文件夹,所以我也将探索 for解决方案。

64779 次浏览
for /f "usebackq" %d in (`"dir _svn /ad/b/s"`) do rd /s/q "%d"

Http://ebersys.blogspot.com/2008/07/recursively-delete-svn-folders-easy-way.html

在 Windows 里?如果使用 tortoiseSVN,则可以使用 export 命令导出项目的副本,而不使用。Svn/_ svn 文件夹。

类似于黑虎 X 的“ for”,我想说的是

for /d /r . %d in (_svn) do @if exist "%d" rd /s/q "%d"

在这里... 和自由指挥官或者完全指挥官

Http://www.broobles.com/blog/posts/36

Socendani

import os
import shutil


curdir = os.path.abspath(os.path.dirname(__file__))


def removedir(dirname, name = ".svn"):
if os.path.isdir(dirname):
for file in os.listdir(dirname):
if os.path.isdir(os.path.join(dirname, file)) and file == name:
thedir = os.path.join(dirname, name)
shutil.rmtree(thedir)
print ".",
else:
removedir(os.path.join(dirname, file))

我认为您可以尝试这个 Python 脚本,如果安装了 Python,它可以在任何操作系统下工作。

是学习一些 PowerShell的时候了

Get-ChildItem -path c:\projet -Include '_svn' -Recurse -force | Remove-Item -force -Recurse

第一部分递归地查找 each _ svn 文件夹。强制用于查找隐藏文件夹。 第二部分用于删除这些文件夹及其内容。 Removecommandlet 附带了一个方便的“ whatif”参数,它允许预览将要执行的操作。

PowerShell 适用于 WindowsXP 和 WindowsVista。它存在于 Windows 7系统中,默认情况下存在于 Windows Server 2008 R2中。

这是一个 MS 产品,它是免费的,它的岩石!

在 BATCH 文件中使用包含/调用(例如删除 Debug 和 Release 文件夹) :

for /d /r . %%d in (Debug Release) do @if exist "%%d" echo "%%d" && rd /s/q "%%d"

批处理文件中需要使用 double %作为转义字符。否则它会报告语法错误。

谢谢。

SVN 论坛中的另一个选项: 对包含要排除的文件/目录列表的文件使用 XCopy (。在本例中为 svn 或 _ svn)

XCopy C:\VersionedFolder C:\UnVersionedFolder /EXCLUDE:C:\No.SVN.txt /E /C /I /F /R /Y