初尝批处理——批量删除svn标志

<script type="text/javascript"> </script> <script class="blogstory"> </script>
Shell 写了不少,批处理却一直没用过。简单的说,批处理就是一些dos命令的组合。今天小试牛刀,写了第一个批处理程序,顺便也了解了一下常用的dos命令。以 前总觉得dos的东西有些过时,一直没有好好的学过,初次尝试了一下其便利性,也算多了一点知识。程序代码如下:

@echo off

:start
::启动过程,切换目录
set pwd=%cd%
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

下面简单介绍一下程序功能。该程序用于删除循环指定目录下名字为.svn的子目录,即删除svn信息。可以拷贝上述代码到wendows下文本文件中,修改后缀名为.bat即可。使用时,不带参数则当前目录为工作目录,带参数则第一个参数为工作目录(没有对参数的校验)。
第一段代码打印工作目录;第二、三段代码循环获取和解析参数,并转向对应的操作;第四段遍历删除子目录;第五段取消删除操作;第六段退出程序。
相关命令:
@ 不打印本命令
echo on|off 打开|关闭后面命令的显示
set 设置参数或环境变量
goto 跳转
pause 暂停程序,界面显示“请按任意键继续……”
程序中比较复杂的命令只有一条:
@for /d /r %%c in (.svn) do @if exist %%c ( rd /s /q %%c & echo     删除目录 %%c)
for /r 循环遍历当前目录, /d 指定遍历的是目录而不是文件,目录名为.svn; if exist 先检查目录存不存在,存在则执行删除( rd )操作,并打印删除信息。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SVN中,标签(Tag)是一种特殊的目录,用于存储代码的快照,通常用于标记某个版本的代码。标签可以帮助我们轻松地跟踪和管理代码的历史版本。 SVN中的标签有两种类型:普通标签和稳定标签。普通标签即为不可修改的快照,只能被查看,不能被修改。而稳定标签则可以被修改,但是修改后的版本必须重新打上标签。 以下是如何在SVN中创建标签的步骤: 1. 确定要打标签的版本号 在使用SVN创建标签之前,需要先确定要标记的版本号。可以使用以下命令查看版本号: ``` svn log -v --stop-on-copy ``` 2. 创建标签 使用以下命令创建标签: ``` svn copy <源路径> <目标路径> ``` 其中,源路径是要标记的代码路径,目标路径是标签的路径。例如: ``` svn copy svn://localhost/myproject/trunk svn://localhost/myproject/tags/release-1.0 ``` 这将创建一个名为“release-1.0”的标签,包含了代码库中trunk目录下的所有文件。 3. 查看标签 使用以下命令查看标签: ``` svn list <标签路径> ``` 例如: ``` svn list svn://localhost/myproject/tags ``` 这将列出标签目录中所有的标签。 4. 切换到标签 使用以下命令切换到标签: ``` svn switch <标签路径> ``` 例如: ``` svn switch svn://localhost/myproject/tags/release-1.0 ``` 这将切换到“release-1.0”标签,使得工作副本中的代码与标签中的代码一致。 总之,标签是SVN中非常有用的功能,可以帮助我们更好地管理代码库中的历史版本。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值