SVN虽然好,但是随着项目的累积,SVN文件会越来越大,而那些较老的可能也不需要,经常有需要删除文件夹里面所有svn版本信息文件的需要。
这里提供两种方法,可以删除本目录以及子目录下的所有svn文件。
方法一:批处理文件删除
将下面的程序代码保存为bat批处理文件,比如:delete_svn.bat
。然后将该文件放到要删除svn的目录里面,双击打开即可。该目录及其所有递归子目录均会删除svn文件。推荐使用该方法。
@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
点击下载delete_svn.bat文件
方法二:脚本文件删除
将下面的程序代码保存为js脚本文件,比如:delete_svn.js
if(WScript.Arguments.length==0)
WScript.quit();
var fso = new ActiveXObject("Scripting.FileSystemObject");
var fc,folder,folderList=[];
var rootFolder = fso.getFolder(WScript.Arguments(0));
folderList.push(rootFolder);
while(folderList.length>0){
folder = folderList.pop();
fc = new Enumerator(folder.SubFolders);
while(!fc.atEnd()){
if(fc.item().name =='.svn')
fso.deleteFolder(fc.item().path,true);
else
folderList.push(fc.item());
fc.moveNext();
}
}
运行:
cscript.exe delete_svn.js XXX
即表示在当前目录中有一个delete_svn.js文件,XXX指向的是需要处理的工程目录。
也可以用绝对路径,例如:(E盘中有delete_svn.js)
cscript.exe E:\delete_svn.js D:\myproject
处理的是D盘下的myproject目录,将其目录中以及所有子目录中的.svn文件夹删除。
点击下载delete_svn.js文件