• 删除".SVN"文件夹方法(转载)


      转自:http://www.cnblogs.com/lr-ting/archive/2012/09/03/2666271.html

      

    一、在linux下 

     删除这些目录是很简单的,命令如下

    find . -type d -name ".svn"|xargs rm -rf;

    或者

    find . -type d -iname ".svn" -exec rm -rf {} ; 

    二、在windows下用以下法子: 

    1、在项目平级的目录,执行dos命令:

    xcopy project_dir project_dir_1 /s /i 

    2、或者在项目根目录执行以下dos命令

    for /r . %%a in (.) do @if exist "%%a.svn" rd /s /q "%%a.svn" 

      其实第二种方法可以用来干很多事的,比如把代码中的.svn替换为任意其他文件名并在硬盘根目录下执行,就可以从硬盘上删除所有的这个文件啦。 

    3、添加注册表

      可以将“快速删除SVN版本信息”命名增加到资源管理器的右键上,这样,鼠标点两下就能把选中目录下的所有.svn目录干掉了。 
    代码为:

    Windows Registry Editor Version 5.00 
    
    [HKEY_LOCAL_MACHINESOFTWAREClassesFoldershellDeleteSVN] 
    @="快速删除SVN版本信息" 
    [HKEY_LOCAL_MACHINESOFTWAREClassesFoldershellDeleteSVNcommand] 
    @="cmd.exe /c D:工具批处理文件删除SVN版本信息.bat" 

      将这段代码保存为一个.reg文件,双击确认导入注册表中不完整,后来自己手工添加。注意:文件“批处理文件删除SVN版本信息.bat”不能放 在有空格的文件夹下,确认删除时请看一下当前目录不要删除不该删的目录下的SVN版本信息。不知道怎么改进“cmd.exe /c D:工具批处理文件删除SVN版本信息.bat”。 

    批处理文件删除SVN版本信息.bat文件内容如下: 

    复制代码代码如下:
    @echo off 
    echo *********************************************************** 
    echo 清除SVN版本信 息 
    echo *********************************************************** 
    :start 
    ::启动过程,切换目录 
    :set pwd=%cd% 
    :cd %1 
    echo 工作目录是:chr(38) chdir 
    :input 
    ::获取输入,根据输入进行处理 
    set source=: 
    set /p source=确定要清楚当前目录下的.svn信息吗?[Y/N/Q] 
    set "source=%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 on 
    @for /d /r %%c in (.svn) do @if exist %%c ( rd /s /q %%c chr(38) echo 删除目录%%c) 
    @echo off 
    echo "当前目录下的svn信息已清除" 
    goto end 
    :noclean 
    ::分支过程,取消清理工作 
    echo "svn信息清楚操作已取消" 
    goto end 
    :end 
    ::退出程序 
    cd "%pwd%" 
    pause 

    注:最后一种方法,如果出现错误,就打开注册表,找到对应的项,吧“cmd.exe /c D:工具批处理文件删除SVN版本信息.bat “直接写入注册表中即可使用 

    最后一种方法: 

    报文件没有关联错误,找到这个注册表项:

    [HKEY_LOCAL_MACHINESOFTWAREClassesFoldershellDeleteSVNcommand]

    写入(注意路径 ):

    "cmd.exe /c D:工具批处理文件删除SVN版本信息.bat "

    还有一个要注意的:在使用的时候,不要在要清除的文件夹上右击,在要清除的文件夹里面的子文件夹上右击--》快速删除svn版本信息 

    今天看了Jon Galloway的一个注册表脚本,十分方便,分享如下: 

    建立一个文本文件,取名为kill-svn-folders.reg(扩展名由txt改为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 chr(38)chr(38) COLOR 9A chr(38)chr(38) FOR /r "%1" %%f IN (.svn) DO RD /s /q "%%f" "" 

    保存之后,双击这个reg文件。

    成功后,在每一个文件夹上点击右键都会有一个“Delete SVN Folders”的选项,点击之后,既可以删除这个文件下下面所有的.svn文件了!!

  • 相关阅读:
    [Bullet3]创建世界(场景)及常见函数
    [erlang]supervisor(监控树)的重启策略
    [game]十字链表的AOI算法实现
    [翻译][erlang]cowboy handler模块的使用
    数据挖掘算法系列目录
    Spark原理分析目录
    Spark实战系列目录
    2019年读书书单
    Hadoop源码解读系列目录
    分布式架构系列目录
  • 原文地址:https://www.cnblogs.com/lance-ehf/p/4054702.html
Copyright © 2020-2023  润新知