@ZEAL Blog·厉
WWW Zeal Blog
We stand alone,
TOGETHER.

用BAT批处理快速删除CVS目录

Posted by zeal on 2006-04-02 07:30 , 935 characters |  + 0 - 0   English
转载请保留本行原始出处声明信息 : http://www.zeali.net/entry/351 MaDe1nZEAL
标签 ( 开发/理论 ):  , 
Windows 下的 BAT 批处理命令行脚本虽然不像 Linux Shell 那样灵活强大,不过在某些情况下你还是可以利用它来完成一些事情。比如用 来对项目源代码进行控制的时候。

除非你使用“导出-发布软件”的方式来 checkout 项目,否则 CVS 程序会在你 checkout 的项目每一个子目录下都自动创建一个 CVS 目录来存放版本控制信息。当你不是每次都可以选择直接上 CVS 服务器采用 export 的方式来导出一份“干净”的项目的时候,或许你会希望把本地机器上项目中的所有程序自动生成的 CVS 目录删掉以作他用。在 Windows 环境下,你可以直接在命令行输入以下命令达到这个目的:

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

这里用到了 for /r 来遍历 . 目录(当前目录),然后检查目录下是否存在名为 CVS 的目录,如果存在,则调用 rd /s /q 直接删除之。

你也可以把这个命令写成 bat 文件:

@echo On
@Rem 删除CVS版本控制目录
@PROMPT [Com]#

@for /r . %%a in (.) do @if exist "%%a\CVS" rd /s /q "%%a\CVS"
@Rem for /r . %%a in (.) do @if exist "%%a\CVS" @echo "%%a\CVS"

@echo Mission Completed.
@pause

注意在 bat 文件里面应该使用 %%a 而不是 %a 。当然如果你不想太过冒失,可以使用注释的那一行先把搜索到的目录打印出来( @echo "%%a\CVS" )看看是否正确,然后再真正去执行批量删除命令。

关于 for 命令的详细帮助,可以在命令提示符下键入 for /? 来了解。

Last Modified on 2007-05-28 12:16
1 条评论:
- 贝壳里的海 () (link) 于 2011-09-12 18:01
很不错,终于找到解决方法了,晚上去试试
日志存档
2014年
2013年
2012年
2011年
2010年
2009年
2008年
2007年
2006年
本 Blog 原创内容
遵循以下授权:

Creative Commons
(创作共用) CC

署名-非商业性
-相同方式分享
ZEAL Blog 基于
Powered byPivot - 1.24.1: 'Arcee'
Pivot1.24.1
开发
系统部署于
Linode.com
Launched @
2005-04-27
Since 2005.04.27  梦想 就像鸡蛋 要么孵化 要么臭掉RSS Feed (Entries) | About me | Back To Home | @ZEAL | zbird.com | 沪ICP备05024379号