(一)---------------------------------------------------------------------------------------------------------------------


需要两步:


1./使用del命令删除所有包含.svn名的文件


del * /S /F /Q "*^.svn*"


"^"在dos中用来标识特殊符号,/参数可以查看命令帮助,help del或del /?


 


2.使用window搜索功能,搜索所有含.svn名的文件,将搜索结果全部删除


 


大功告成!第2步是为了弥补第1步del命令不能删除本身文件夹的缺点(rd命令又不能遍历子目录,只能全删)


 


 


PS:


2013-8-6 记录


这是自己写的,今天发现有点缺陷,主要是第一步是命令用法问题,第二部还是有用。第一步会导致某些文件名字带.svn字符的也会被误删,这样不行。


找到一篇文章可以去看另一篇文章:删除所有的.svn文件夹


 


(二)---------------------------------------------------------------------------------------------------------------------

javascript:void(0)删除所有的.svn文件夹

         工作中要把一个项目迁移到另外的svn目录中,遇到一个问题,需要先把原来的.svn删除,然后再增加到新的svn中,开始手动删除,但是发现太耗时耗力了,网上搜了几种删除的方法,自己都试了一遍,总结了一下,写出来备忘。

一、在Dos窗口中运行如下命令




for /r <你项目的路径> %i in (.svn) do rd /s /q %i


示例:


//CMD下,递归删除当前目录下名为.svn的文件夹


for /r . %i in (.svn) do rd /s /q %i


 


二、将“Delete SVN Folders”操作添加到右击菜单中


建立一个文本文件,名称随意,后缀为.reg,内容如下:




​?​




​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文件。成功后,在每一个文件夹上点击右键都会有一个“Delete SVN Folders”的选项,点击这个选项,即可删除这个文件夹下面所有的.svn文件夹

三、编写js程序

程序如下:





1 if (WScript.Arguments.length == 0) {

2 WScript.Echo("请输入参数!");

3 WScript.quit();

4 }

5  else {

6 var path = WScript.Arguments(0);

7 var fso = new ActiveXObject("Scripting.FileSystemObject");

8 var rootFolder = fso.getFolder(path);

9 var folderList = new Array();

10 folderList.push(rootFolder);

11 

12 var folder, fc;

13 while (folderList.length > 0) {

14 folder = folderList.pop();

15 fc = new Enumerator(folder.SubFolders);

16 while (!fc.atEnd()) {

17 if (fc.item().name == ".svn") {

18 fso.deleteFolder(fc.item().path, true);

19 }

20 else {

21 folderList.push(fc.item());

22 }

23 fc.moveNext();

24 }

25 }

26 WScript.Echo("完成!");

27 }


 


         将这个程序保存为后缀为.js的文件,如delsvn.js

         运行cscript.exe delsvn.js XXX

         例如:cscript.exe C:\Users\lhc\Desktop\delsvn.js E:\Union

                   其中C:\Users\lhc\Desktop\delsvn.js是此js放在桌面上

                   E:\Union下面的.svn文件夹都会删除

         编写此js时注意:

    1、  我们输出内容用的是WScript.Echo(),而不用alert()

      如果使用alert(),会报缺少对象的错误,因为alert()是属于浏览器(DOM)的函数,JavaScript中没有这个函数

    2、  可执行js文件

      有如下代码:




1


2


3


4


5


6


7


8


9




​<job>​


 


​<script language=​​​​"javascript"​​​​>​


 


​WScript.Echo(​​​​"Hello World!"​​​​);​


 


​</script>​


 


​</job>​



把这个代码保存为后缀为.wsf的文件jstest.wsf,双击可运行,如下图:

 

如果把WScript.Echo("Hello World!");这行代码换成上面的删除.svn文件夹的程序,也可以运行,不过由于这个程序需要输入参数,可以以以下方式运行:

cscript C:\Users\lhc\Desktop\jstest.wsf E:\Union

个人认为第二种最方便,一劳永逸。


作者:SVENNEE