zoukankan      html  css  js  c++  java
  • window下删除所有带.svn文件夹及文件,删除所有的.svn文件夹

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

    需要两步:
    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文件夹
     

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

    http://www.cnblogs.com/fuhongxue2011/archive/2011/03/31/2001393.html删除所有的.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_MACHINESOFTWAREClassesFoldershellDeleteSVN]
    @="Delete SVN Folders"
     
    [HKEY_LOCAL_MACHINESOFTWAREClassesFoldershellDeleteSVNcommand]
    @="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:UserslhcDesktopdelsvn.js E:Union

                       其中C:UserslhcDesktopdelsvn.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:UserslhcDesktopjstest.wsf E:Union

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

  • 相关阅读:
    Android自己定义组件系列【2】——Scroller类
    ostringstream的使用方法
    什么是Spring?Spring是什么?
    天将降大任于斯人也,必先苦其心志,劳其筋骨,饿其体肤,空乏其身,行拂乱其所为,所以动心忍性,增益其所不能
    伤不起的戴尔台式机XPS8700脆弱的蓝牙
    cocos2d-x-3.1 事件分发机制 (coco2d-x 学习笔记七)
    SSL工作原理
    AfxMessageBox和MessageBox差别
    oninput,onpropertychange,onchange的使用方法和差别
    Bootstrap网站模板
  • 原文地址:https://www.cnblogs.com/svennee/p/4068873.html
Copyright © 2011-2022 走看看