我们在工程的协作开发过程中,常用的是 svn , 有时我们需要一个干净的 网站版本,没有 .svn 这些文件夹记录的版本传到服务器上使用,自己一个个去文件删除的话也太累了,这时我们就用到以下功能,用cmd 批处理一键删除这些文件夹

可以写到注册表里,以后自己想清理哪个文件夹就直接 右键 -> 清除 .SVN文件夹 就可以了

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\清除SVN信息] @="清除 .SVN文件夹"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\清除SVN信息\command]
@="cmd.exe /c \"TITLE 清除 %1 中的.SVN文件夹 && FOR /r \"%1\" %%f IN (.svn) DO RD /s /q \"%%f\" \""

将以上代码保存为 cleanSVN.reg ,在 Windows 环境下运行,然后在你要清理的文件夹上右键,就可以看到命令菜单,

不足的是这里没有 一个确认的提示信息,如果你有兴趣就加上一个提示信息吧,以免误清理,有时间我再加上吧,这些天一直在忙....

注:

如果你得到的菜单是乱码,那可能是你保存的 reg 文件是 UTF-8 的,重新保存为 ANSI 的再执行一次就可以了

---------------------------------------------------------------

2011-12-06 注:

最近发现 tortoise 的1.7 版的 .svn 都去掉了,只保留最上层有这个文件夹来记录文件信息!这样的话,以上步骤就用不到了 

使用svn进行版本控制,每个文件夹下都有.svn文件夹,有些项目在脱离svn版本控制之后,想删除项目中所有的.svn文件夹,可用下面的方法进行快速删除:

在桌面上建立一个文本文件,取名为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 && COLOR 9A && FOR /r \”%1\” %%f IN (.svn) DO RD /s /q \”%%f\” \""

保存之后,双击这个reg文件。成功后,在每一个文件夹上点击右键都会有一个“Delete SVN Folders”的选项,点击之后,既可以删除这个文件下(包括子文件夹)所有的.svn文件夹。

删除完成后,为了避免误操作,不小心把正处于版本管理中的.svn文件夹删除,最好把刚才的注册信息删除。删除方法是,打开注册表(在运行中用 regedit命令),找到[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell \DeleteSVN] ,把DeleteSVN这个项删除,即可。

eclipse编译去除svn文件夹

使用Eclipse编译文件后,classes文件中总是有.svn的文件夹,这些文件没有什么用,而且影响build的速度
“Project->Properties->Java Build Path”,右侧的面板中的”Source”选项卡,在Excluded中加入”**/.svn/**”,就可以将所有的svn文件排除在编译路径中了。

=====================================================================================

第一步:建立一个名字叫做remove-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 && COLOR 9A && FOR /r \"%1\" %%f IN (.svn) DO RD /s /q \"%%f\" \""

第二步:保存后,双击这个文件,此时再右键任何文件夹时都会出现一个“Delete SVN Folders”,点击这项,将会把此文件夹下包括子文件夹的.svn都给删除。如果项目想去掉svn,直接对此项目进行上面操作,一下子就将项目所有的.svn删除,即项目去除了svn。

第三步:也比较重要哦!如果项目已经去掉了svn,此时我们应该将右键的这项功能去掉预防以后不小心点击将不想去svn的项目去除了,这将会非常令人蛋疼。去除右键这项功能的方法为:打开注册表(就是在命令行输入:regedit命令),然后在注册表里找到:[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN],将DeleteSVN删除就可以了。

现在再对你的文件夹进行右键是不是找不到“Delete SVN Folders”这个选项了?!

=====================================================================================

@echo off

:start
::启动过程,切换目录
set pwd=�%
cd %1
echo 工作目录是:& 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 & echo     删除目录%%c)
@echo off
echo "当前目录下的svn信息已清除"
goto end

:noclean
::分支过程,取消清理工作
echo "svn信息清楚操作已取消"
goto end

:end
::退出程序
cd "%pwd%"
pause

原理如下:每个check out的文件夹下都有个隐藏的.svn文件夹,该文件夹是存储svn信息的,把隐藏的这个文件夹显示出来并删掉,即消除了SVN标记了。

如何快速去掉.svn文件夹?的更多相关文章

  1. 快速删除.svn文件夹

    Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN] @= ...

  2. 删除SVN版本信息 .svn文件夹

    环境:MyEclipse.Windows 问题描述: 在MyEclipse中当我们需要将一个文件夹(包含若干文件或嵌套文件夹)拷贝到另一个文件夹时,此时文件内容虽然拷贝过去了,但其下面的 .svn文件 ...

  3. 批量删除.svn文件夹、.svn文件

      使用svn进行版本控制,每个文件夹下都有.svn文件夹,有些项目在脱离svn版本控制之后,想删除项目中所有的.svn文件夹,可用下面的方法进行快速删除: 1.打开要删除.svn文件的最外层文件夹, ...

  4. 如何快速清除.svn文件

    Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\清除SVN信息] @=&qu ...

  5. 清除SVN获取文件的所有.svn文件夹

    Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\清除SVN信息] @=&qu ...

  6. Delphi 递归搜索.SVN文件夹并“处理”

    实在是没有想到删除.SVN文件夹是件这么痛苦的事情,最近在整理公司历史资料文件,粗略统计一下600G左右,本想一次提交到服务器上省事,没想到啊没想到,传输中途程序崩掉了,本地文件夹剩下一大堆.svn文 ...

  7. [转载]删除所有的.svn文件夹

    Windows 下,在DOS窗口中运行如下命令 dos 代码 for /r <你项目的路径> %i in (.svn) do rd /s /q %i Linux 下,可以先运行 显示出当前 ...

  8. Sersync同步过滤.svn文件夹

    Sersync同步过滤.svn文件夹 <filter start="true"> <exclude expression="(.*).svn(.*)&q ...

  9. window下删除所有带.svn文件夹及文件,删除所有的.svn文件夹

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

随机推荐

  1. Codeforces Round #295 (Div. 2)C - DNA Alignment 数学题

    C. DNA Alignment time limit per test 2 seconds memory limit per test 256 megabytes input standard in ...

  2. iptables详解与Centos7 关闭防火墙

    http://www.cnblogs.com/metoy/p/4320813.html CentOS 7.0默认使用的是firewall作为防火墙,使用iptables必须重新设置一下 1.直接关闭防 ...

  3. SQLServer2005中的CTE递归查询得到一棵树

    最近研究了一下CTE递归查询,感觉这个CTE递归查询蛮好用的,在网上找到了一个比较好的例子,测试例子如下 use City; go create table Tree ( ID ,) primary ...

  4. Hibernate: Implicit & Explicit Polymorphism

    As I was going through the various inheritance strategies in Hibernate, I came across the ‘class’ el ...

  5. nyist oj 214 单调递增子序列(二) (动态规划经典)

    单调递增子序列(二) 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描写叙述 ,a2...,an}(0<n<=100000).找出单调递增最长子序列,并求出其长度 ...

  6. Pig系统分析(5)-从Logical Plan到Physical Plan

    Physical Plan生成过程 优化后的逻辑运行计划被LogToPhyTranslationVisitor处理,生成物理运行计划. 这是一个经典的Vistor设计模式应用场景. 当中,LogToP ...

  7. 用最简单的例子理解观察者模式(Observer Pattern)

    假设有一个软件公司,每当有新产品推出,就把信息通知到一些客户. 把通知这个动作抽象成一个接口. public interface IService { void Notif(); } 客户如果想获得通 ...

  8. Ext.Toolbar.Fill()

    tbar : ['-',new Ext.form.Label({ text : '产品代码:' }),new Ext.form.TextField({ id : 'cpdm', name : 'cpd ...

  9. Linux车载系统的开发方向

    眼下Linux基金会推出了基于Tizen 开源的车载系统平台Automotive Grade Linux (AGL), 眼下早期版本号的AGL已提供下载. UI用HTML5和JavaScript编程. ...

  10. 图片碎片化mask动画

    图片碎片化mask动画 效果 源码 https://github.com/YouXianMing/Animations // // TransformFadeViewController.m // A ...