一、在linux下
删除这些目录是很简单的,命令如下
find . -type d -name ".svn"|xargs rm -rf
或者
find . -type d -iname ".svn" -exec rm -rf {} \;
全部搞定。
二、在windows下用以下法子:
1、在项目平级的目录,执行dos命令:
xcopy project_dir project_dir_1 /s /i
2、或者在项目根目录执行以下dos命令
for /r . %%a in (.) do @if exist "%%a\.svn" rd /s /q "%%a\.svn"
其实第二种方法可以用来干很多事的,比如把代码中的.svn替换为任意其他文件名并在硬盘根目录下执行,就可以从硬盘上删除所有的这个文件啦。
3、加注册表
Jon Galloway提供了一段注册表代码,可以将”Delete SVN Folders”命名增加到资源管理器的右键上,这样,鼠标点两下就能把选中目录下的所有.svn目录干掉了。Works just great!
代码为:
Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN] @="Delete SVN Folders" [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN\command] @="cmd.exe /c \"TITLE Removing SVN Folders in %1 && COLOR 9A && FOR /r \"%1\" %%f IN (.svn) DO RD /s /q \"%%f\" \""
将这段代码保存为一个.reg文件,双击确认导入注册表即可。
4、bat方式
@echo off
if "%1"=="" (
goto error
) else (
goto action %1
):error
echo.
echo 必须输入要操作的文件夹路径参数,或拖动文件夹到此命令文件上。
echo.
pause
goto end:action %1
echo --------------------------------------------------------------------------
echo 本次操作将删除 [%1] 文件夹下所有的svn标记,请慎重操作!
echoY 清理文件夹
echoN 退出
echo ---------------------------------------------------------------------------
choice /c YN /m 请选择菜单(按ctrl+c或N退出):if %errorlevel% equ 2 goto end
echo 正在清理文件夹:%1
echo 请稍候...
for /r %1 %%a in (.) do @if exist "%%a\.svn" rd /s /q "%%a\.svn"
echo 清理完毕!
echo 按任意键退出...
pause>echo.:end
exit(来源:http://www.g58.net/knowledge/tips/delete-all-SVN-directory.shtml)