DOS工具: 自动从VSS获取并编译,复制,上传,打包的工具 new

2023-12-10 21:32

本文主要是介绍DOS工具: 自动从VSS获取并编译,复制,上传,打包的工具 new,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

echo off
@cls
@color

rem -- ======================================
rem -- DESCRIPTION: <自動_VSS管理バッチ 2.0>
rem -- AUTHOR:  <>
rem -- CREATE DATE: <2010/12/27>
rem -- UPDATE DATE: <2011/08/22>
rem -- =======================================

rem ----------------------------
rem         Local Folder Name
rem ----------------------------
@set local_forder_name=Src

rem ----------------------------
rem         Vss_username
rem ----------------------------
@set vss_username=fanhui

rem ----------------------------
rem         Vss_password
rem ----------------------------
@set vss_password=fanhui

rem ----------------------------
rem         Local Dirver
rem ----------------------------
@set local_dirver=F:\

rem ----------------------------
rem         Vss_server
rem ----------------------------
@set Vss_server=\\kdc-hs-022\project02$

rem ----------------------------
rem         Vss_project_path
rem ----------------------------
@set vss_project_path="$/10 DPM/Src"

rem ----------------------------
rem         vss_flag(1:on, 0:off)
rem vss サーバから最新のバージョンを取得
rem ----------------------------
@set vss_flag=1

rem ----------------------------
rem         build_flag(1:on, 0:off)
rem 自動のビルドを行う
rem ----------------------------
@set build_flag=1

rem ----------------------------
rem         納品_flag(1:on, 0:off)
rem 不要なファイルを除くことができる
rem ----------------------------
@set order_flag=1

rem ----------------------------
rem         RAR_flag(1:on, 0:off)
rem rarタイプで梱包することができる
rem ----------------------------
@set rar_flag=1

rem ----------------------------
rem         Vss_install_path
rem ----------------------------
@set vss_install_path=C:\Program Files\Microsoft Visual SourceSafe

rem ----------------------------
rem         .net_install_path
rem ----------------------------
@set net_install_path=C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE

rem ----------------------------
rem         .rar_install_path
rem ----------------------------
@set rar_install_path=C:\Program Files\WinRAR

rem ----------------------------
rem         Local log Name
rem ----------------------------
@set local_logfile_name=build.log

 

@set path=%path%;%vss_install_path%
@set ssdir=%Vss_server%
@set ssuser=%Vss_username%
@set sspwd=%Vss_password%

@if %vss_flag% EQU 1 goto do_vss
@if %build_flag% EQU 1 goto do_build
@goto do_order

@:do_vss
@echo ----------------------------
@echo         do vss
@echo ----------------------------

@if not exist %local_forder_name% (md %local_dirver%%local_forder_name%)

@echo -- ========================
@echo get files from vss
@echo -- ========================
@ss workfold %vss_project_path% %local_dirver%%local_forder_name%
@ss get -GL%local_dirver%%local_forder_name% %vss_project_path% -R -W -I-

@if %build_flag% EQU 1 goto do_build
@goto do_order

@:do_build
@set str=0

@echo ----------------------------
@echo         do build
@echo ----------------------------

@echo -- =========================
@echo build starting
@echo -- ==========================

@set path=%path%;%net_install_path%
@if exist %local_dirver%%local_logfile_name% (del %local_dirver%%local_logfile_name%)
@for /r %local_dirver%%local_forder_name%\. %%a in (*.sln) do @(
 @if exist %%a @devenv /build release %%a >>%local_dirver%%local_logfile_name%
 @if errorlevel 1 call :error %%a
)

@if %str% EQU 1 goto end
@del %local_dirver%%local_logfile_name%
@echo -- =========================
@echo build success
@echo -- =========================
@goto do_order

@:error
 @set str=1
 @color 4f
 @echo -- =========================
 @echo ビルド失敗【%1】
 @echo     ⇒ %local_dirver%%local_forder_name%\%local_logfile_name% を参照してください
 @echo -- =========================
 @goto :eof

@:do_order
@if %order_flag% NEQ 1 goto do_rar
@echo ----------------------------
@echo         do order
@echo ----------------------------
@for /r %local_dirver%%local_forder_name%\. %%a in (bin,obj) do @if exist %%a rd /q/s "%%a"
@for /r %local_dirver%%local_forder_name%\. %%a in (*.scc,*.vspscc,*.vssscc) do @if exist %%a del /q/s/f "%%a"
@for /r %local_dirver%%local_forder_name%\. %%a in (*.sln,*.vbproj) do @if exist %%a VssSeparator "%%a"
@goto do_rar

@:do_rar
@if %rar_flag% NEQ 1 goto end
@echo ----------------------------
@echo         do rar
@echo ----------------------------

@SET YY=%date:~0,4%
@SET MM=%date:~5,2%
@SET DD=%date:~8,2%

@if exist %local_dirver%%YY%%MM%%DD% (rd /q/s %local_dirver%%YY%%MM%%DD%)
@md %local_dirver%%YY%%MM%%DD%

@set path=%path%;%rar_install_path%

 %local_dirver:~0,2%
CD %local_dirver%%local_forder_name%
rar a %local_dirver%%local_forder_name%  -r
move %local_dirver%%local_forder_name%.rar %local_dirver%%YY%%MM%%DD%
cd \
@if exist %local_dirver%%local_forder_name% (rd /q/s %local_dirver%%local_forder_name%)
@color 2f
@echo -- =========================
@echo rar success
@echo -- =========================

@echo //
@echo  全て処理終了
@echo  作成者: 2010/12 Create 1.0
@echo                   2011/08 Update 2.0
@echo //
@:end
@pause
@goto :eof

这篇关于DOS工具: 自动从VSS获取并编译,复制,上传,打包的工具 new的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/478436

相关文章

Python版本信息获取方法详解与实战

《Python版本信息获取方法详解与实战》在Python开发中,获取Python版本号是调试、兼容性检查和版本控制的重要基础操作,本文详细介绍了如何使用sys和platform模块获取Python的主... 目录1. python版本号获取基础2. 使用sys模块获取版本信息2.1 sys模块概述2.1.1

基于Python开发Windows自动更新控制工具

《基于Python开发Windows自动更新控制工具》在当今数字化时代,操作系统更新已成为计算机维护的重要组成部分,本文介绍一款基于Python和PyQt5的Windows自动更新控制工具,有需要的可... 目录设计原理与技术实现系统架构概述数学建模工具界面完整代码实现技术深度分析多层级控制理论服务层控制注

Python打包成exe常用的四种方法小结

《Python打包成exe常用的四种方法小结》本文主要介绍了Python打包成exe常用的四种方法,包括PyInstaller、cx_Freeze、Py2exe、Nuitka,文中通过示例代码介绍的非... 目录一.PyInstaller11.安装:2. PyInstaller常用参数下面是pyinstal

Java发送SNMP至交换机获取交换机状态实现方式

《Java发送SNMP至交换机获取交换机状态实现方式》文章介绍使用SNMP4J库(2.7.0)通过RCF1213-MIB协议获取交换机单/多路状态,需开启SNMP支持,重点对比SNMPv1、v2c、v... 目录交换机协议SNMP库获取交换机单路状态获取交换机多路状态总结交换机协议这里使用的交换机协议为常

nodejs打包作为公共包使用的完整流程

《nodejs打包作为公共包使用的完整流程》在Node.js项目中,打包和部署是发布应用的关键步骤,:本文主要介绍nodejs打包作为公共包使用的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言一、前置准备二、创建与编码三、一键构建四、本地“白嫖”测试(可选)五、发布公共包六、常见踩坑提醒

JAVA实现Token自动续期机制的示例代码

《JAVA实现Token自动续期机制的示例代码》本文主要介绍了JAVA实现Token自动续期机制的示例代码,通过动态调整会话生命周期平衡安全性与用户体验,解决固定有效期Token带来的风险与不便,感兴... 目录1. 固定有效期Token的内在局限性2. 自动续期机制:兼顾安全与体验的解决方案3. 总结PS

C#利用Free Spire.XLS for .NET复制Excel工作表

《C#利用FreeSpire.XLSfor.NET复制Excel工作表》在日常的.NET开发中,我们经常需要操作Excel文件,本文将详细介绍C#如何使用FreeSpire.XLSfor.NET... 目录1. 环境准备2. 核心功能3. android示例代码3.1 在同一工作簿内复制工作表3.2 在不同

MyBatis/MyBatis-Plus同事务循环调用存储过程获取主键重复问题分析及解决

《MyBatis/MyBatis-Plus同事务循环调用存储过程获取主键重复问题分析及解决》MyBatis默认开启一级缓存,同一事务中循环调用查询方法时会重复使用缓存数据,导致获取的序列主键值均为1,... 目录问题原因解决办法如果是存储过程总结问题myBATis有如下代码获取序列作为主键IdMappe

C#使用iText获取PDF的trailer数据的代码示例

《C#使用iText获取PDF的trailer数据的代码示例》开发程序debug的时候,看到了PDF有个trailer数据,挺有意思,于是考虑用代码把它读出来,那么就用到我们常用的iText框架了,所... 目录引言iText 核心概念C# 代码示例步骤 1: 确保已安装 iText步骤 2: C# 代码程

Spring Boot中获取IOC容器的多种方式

《SpringBoot中获取IOC容器的多种方式》本文主要介绍了SpringBoot中获取IOC容器的多种方式,包括直接注入、实现ApplicationContextAware接口、通过Spring... 目录1. 直接注入ApplicationContext2. 实现ApplicationContextA