zoukankan      html  css  js  c++  java
  • 批量删除svn标志

    只是清理.svn目录的话,当然可以通过SVN工具自带的导出功能。记录下主要还是这个批处理可以遍历所有目录中的特定文件夹。

    程序代码如下:

    @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 )操作,并打印删除信息。
  • 相关阅读:
    出栈序列的可能性判定
    阿里离线数据处理平台2013暑期学校
    终于算完了这道『1+1』
    数据结构学习笔记之一 链表
    经典解释监视器和对象锁
    Sybase中字符串替换函数 STR REPLACE
    使用Arrays sort 方法進行排序
    clustered和nonclustered索引的区别
    Java序列化的作用和反序列化
    Java多线程下载并具断点续传功能JAR
  • 原文地址:https://www.cnblogs.com/dongzhiquan/p/1994774.html
Copyright © 2011-2022 走看看