删除SVN三种方法delSvn(windows+linux)

 更新时间:2012年03月24日 01:11:50   作者:  
今天想清除目录下的SVN信息,在网上找了找,说是有三种方法
一、在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_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN]
@="快速删除SVN版本信息"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN\command]
@="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_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN\command]
写入:“cmd.exe /c D:\工具\批处理文件删除SVN版本信息.bat “,注意路径

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

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

建立一个文本文件,取名为kill-svn-folders.reg(扩展名由txt改为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 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文件了

相关文章

  • 全民学编程之 Hello World

    全民学编程之 Hello World

    Hello World的迷人之处在于:它是简单的,即便没有任何基础,你也可以轻松理解,但它又不是苍白的,它带有一个程序语言鲜明的特色,体现了该语言最基本的思想和特征。同样也是Hello World,让人体会到第一份成功的喜悦
    2014-01-01
  • Window下安装JDK1.8+Tomcat9.0.27+Mysql5.7.28的教程图解

    Window下安装JDK1.8+Tomcat9.0.27+Mysql5.7.28的教程图解

    这篇文章主要介绍了Window下安装JDK1.8+Tomcat9.0.27+Mysql5.7.28的教程,本文通过图文并茂的形式给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-11-11
  • EventStore文件存储设计详解

    EventStore文件存储设计详解

    ENode是一个CQRS+Event Sourcing架构的开发框架,这篇文章主要介绍了EventStore文件存储设计 ,需要的朋友可以参考下
    2019-05-05
  • 多种语言下获取当前页完整URL及其参数

    多种语言下获取当前页完整URL及其参数

    多种语言下获取当前页完整URL及其参数...
    2007-04-04
  • SecureCRT的下载、安装详细过程

    SecureCRT的下载、安装详细过程

    SecureCRT是一款支持SSH的终端仿真程序,在今后的工作和学习中会经常的用到用来连接linux服务器。本文重点给大家介绍SecureCRT的下载、安装详细过程,感兴趣的朋友一起看看吧
    2021-11-11
  • 10个调试和排错的小建议

    10个调试和排错的小建议

    几乎没有哪个程序员能够写出一个bug都没有的代码,但是解决方法总是比困难多得多。多实践和坚毅的决心是成功的关键,这样才能够写出清洁代码,保证软件系统的可靠性
    2014-03-03
  • PHP实现HTML标签自动补全代码

    PHP实现HTML标签自动补全代码

    开发各种项目中经常遇到截取html字符串问题。 比如博客文章列表页面截取一部分正文、文章正文翻页截取等
    2012-10-10
  • ISO-8859-1 、Latin-1 西欧编码介绍及应用

    ISO-8859-1 、Latin-1 西欧编码介绍及应用

    这篇文章主要介绍了ISO-8859-1 、Latin-1 西欧编码介绍及应用,需要的朋友可以参考下
    2016-06-06
  • Delphi - Indy idMessage和idSMTP实现邮件的发送

    Delphi - Indy idMessage和idSMTP实现邮件的发送

    这篇文章主要介绍了Delphi - Indy idMessage和idSMTP实现邮件的发送,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-08-08
  • IE Cookie文件格式说明

    IE Cookie文件格式说明

    前几天写了个工具 CookieAdmin 来查看 IE 的 Cookie 有人问到实现原理,就写了这篇文章 我不善于写文档或文章,所以还是代码说话吧
    2009-12-12

最新评论