zoukankan      html  css  js  c++  java
  • 批量自动更新SVN版本库

    在Windows环境使用bat批处理来实现自动处理从SVN代码库里update各个项目代码。

    @echo off
    @echo ******************************************************
    @echo =============== 批量自动更新SVN版本库 ===============
    @echo %date% %time%   准备更新SVN版本库
    @echo ******************************************************
    
    ::代码编写思路
    ::获取bat当前的运行目录 %dp0
    ::遍历当前目录,查找包含.svn子文件夹的文件夹
    ::生成命令并调用执行
    
    ::部分参数说明
    ::svn_home 安装TortoiseSVN的目录
    ::work_dir 需要更新的SVN目录路径,路径之间用空格隔开
    ::/closeonend:0 不自动关闭窗口
    ::/closeonend:1 在没有错误的情况下关闭窗口
    ::/closeonend:2 在没有错误和冲突的情况下关闭窗口
    ::/closeonend:3 在没有错误、冲突、合并情况下关闭窗口
    ::dir /ad-s/b 表示只取目录,并且不是系统文件夹,使用空格模式显示
    
    :: 设置本地为延迟扩展。其实也就是:延迟变量,全称延迟环境变量扩展。
    setlocal enabledelayedexpansion
    
    :: 设置svn默认安装位置以及需要调用的应用程序
    set svn_home=D:Program FilesTortoiseSVNin
    set exe_name=TortoiseProc.exe
    set work_dir=D:projectsvn
    
    :: 进入包含多个svn项目的目录
    D:
    cd %work_dir%
    
    @echo =============== 数据处理中 ===============
    
    :: 使用for循环从 dir 获取到字符串中获取文件夹名字
    for /f "delims=" %%i in ('"dir /ad-s/b "') do (
      :: 判断是否是svn文件夹
      if exist "%~dp0%%i.svn" (
        @echo 正在更新项目 %%i
        :: 调用更新命令
        "%svn_home%\%exe_name%" /command:update /path:%%i /notempfile /closeonend:2
      ) else (
        @echo %%i 不存在svn信息
      )
    )
    
    @echo =============== 更新完成 ===============
    
    @pause
    View Code
  • 相关阅读:
    OSI参考模型(转)
    H3C交换机配置常用命令(转)
    H3C交换机配置学习随笔
    [Swust OJ 247]--皇帝的新衣(组合数+Lucas定理)
    [Swust OJ 1084]--Mzx0821月赛系列之情书(双线程dp)
    [Swust OJ 404]--最小代价树(动态规划)
    [Swust OJ 610]--吉祥数
    [Swust OJ 137]--波浪数(hash+波浪数构造)
    [Swust OJ 566]--开N方数(牛顿切线法解高次方程)
    [Swust OJ 1125]--又见GCD(数论,素数表存贮因子)
  • 原文地址:https://www.cnblogs.com/cjblogs/p/6782068.html
Copyright © 2011-2022 走看看