第一种方法,将下列代码保存成bat文件,执行。
@echo on
color 2f
mode con: cols=80 lines=25
@REM
@echo 正在清理SVN文件,请稍候......
@rem 循环删除当前目录及子目录下所有的SVN文件
@rem for /r . %%a in (.) do @if exist "%%a\.svn" @echo "%%a\.svn"
@for /r . %%a in (.) do @if exist "%%a\.svn" rd /s /q "%%a\.svn"
@echo 清理完毕!!!
@pause
[点击并拖拽以移动]
第二种方法:
可以将“快速删除SVN版本信息”命名增加到资源管理器的右键上,这样,鼠标点两下就能把选中目录下的所有.svn目录干掉了。
代码为:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN]
@="快速删除SVN版本信息"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN\command]
@="cmd.exe /c D:\批处理文件删除SVN版本信息.bat"
将这段代码保存为一个.reg文件,双击确认导入注册表中。注意:文件“批处理文件删除SVN版本信息.bat”不能放 在有空格的文件夹下,确认删除时请看一下当前目录不要删除不该删的目录下的SVN版本信息。
这里面的批处理代码是这样的:
@echo off
echo ***********************************************************
echo 清除SVN版本信 息
echo ***********************************************************
:start
::启动过程,切换目录
set pwd=%cd%
cd %1
echo 工作目录是:%pwd%
:input
::获取输入,根据输入进行处理
set source=:
set /p source=确定要清除当前目录下的.svn信息吗?[Y/N/Q]
set "source=%source:"=%"
echo "%source%"
if "%source%"=="y" goto clean
if "%source%"=="Y" goto clean
if "%source%"=="n" goto noclean
if "%source%"=="N" goto noclean
if "%source%"=="q" goto end
if "%source%"=="Q" goto end
goto input
:clean
echo 主处理过程,执行清理工作
@REM
@echo 正在清理SVN文件,请稍候......
@rem 循环删除当前目录及子目录下所有的SVN文件
@rem for /r . %%a in (.) do @if exist "%%a\.svn" @echo "%%a\.svn"
@for /r . %%a in (.) do @if exist "%%a\.svn" rd /s /q "%%a\.svn"
@echo 清理完毕!!!
goto end
:noclean
::分支过程,取消清理工作
echo "svn信息清楚操作已取消"
goto end
:end
::退出程序
cd "%pwd%"
pause
PS:如果文件很多,需要等待一段时间。
已在windows 10 专业版上测试过。