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

我想删除每个文件夹和子文件夹中的每个“_svn”…

例如

 C:\
   proyect1
    _svn
   图片
      _svn
     旗帜
        _svn
     纽扣
        _svn

然后我运行类似的东西

rm-recurse c:\proyect1 _svn 

我应该得到:

 C:\
   proyect1
   图片
     旗帜
     纽扣

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

– 感谢格兰特,只要我发布的问题,我看到了有关SVN导出命令的SVN文档,但我也想删除Visual Studio创build的_vti_ *文件夹的东西,所以我也将探索的解决scheme。

与BlackTigerX的“for”类似,我正在build议

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

学习一些PowerShell的时间; o)

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

第一部分recursion地find每个_svn文件夹。 强制用于查找隐藏的文件夹。 第二部分是用来删除这些文件夹及其内容。 删除命令行程序带有一个方便的“whatif”参数,它允许预览会做什么。

PowerShell可用于Windows XP和Windows Vista。 它默认存在于Windows 7和Windows Server 2008 R2上。

这是一个MS产品,它是免费的,它很有用!

从BATCH文件中使用(例如,删除debugging和发布文件夹)来包含/调用:

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

在batch file中需要double %作为转义字符。 否则,它会报告语法错误。

谢谢。

 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文件夹。

 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,它可以在任何操作系统下工作。

SVN论坛的另一个选项是:使用XCopy和一个文件来包含要排除的文件/目录列表(在这种情况下是.svn或_svn)

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

这里…与FreeCommander或TotalCommander

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

socendani