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
  • 相关阅读:
    [转][c#]C# 二维数组到底该如何定义?
    [c++]筛法求素数
    USB驱动问题
    使用Ajax.dll前台调用后台方法及错误示例
    asp.net中前台javascript与后台C#交互
    visual stdio2010 生成的缓存文件
    jQuery.ajax概述[转]
    一种正向最小匹配的中文分词算法
    2010 .NET面试题整理之基础篇[转]
    Winform设计不规则窗体
  • 原文地址:https://www.cnblogs.com/cjblogs/p/6782068.html
Copyright © 2011-2022 走看看