去除文件夹中的.svn
一、在Dos窗口中运行如下命令
二、将“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程序
程序如下:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
js code if (WScript.Arguments.length == 0) { WScript.Echo("请输入参数!"); WScript.quit(); } else { var path = WScript.Arguments(0); var fso = new ActiveXObject("Scripting.FileSystemObject"); var rootFolder = fso.getFolder(path); var folderList = new Array(); folderList.push(rootFolder); var folder, fc; 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(); } } WScript.Echo("完成!"); }
将这个程序保存为后缀为.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文件
有如下代码:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
<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
个人认为第二种最方便,一劳永逸。