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

相关文章

SQLite3命令行工具最佳实践指南

《SQLite3命令行工具最佳实践指南》SQLite3是轻量级嵌入式数据库,无需服务器支持,具备ACID事务与跨平台特性,适用于小型项目和学习,sqlite3.exe作为命令行工具,支持SQL执行、数... 目录1. SQLite3简介和特点2. sqlite3.exe使用概述2.1 sqlite3.exe

一文详解MySQL如何设置自动备份任务

《一文详解MySQL如何设置自动备份任务》设置自动备份任务可以确保你的数据库定期备份,防止数据丢失,下面我们就来详细介绍一下如何使用Bash脚本和Cron任务在Linux系统上设置MySQL数据库的自... 目录1. 编写备份脚本1.1 创建并编辑备份脚本1.2 给予脚本执行权限2. 设置 Cron 任务2

C++中RAII资源获取即初始化

《C++中RAII资源获取即初始化》RAII通过构造/析构自动管理资源生命周期,确保安全释放,本文就来介绍一下C++中的RAII技术及其应用,具有一定的参考价值,感兴趣的可以了解一下... 目录一、核心原理与机制二、标准库中的RAII实现三、自定义RAII类设计原则四、常见应用场景1. 内存管理2. 文件操

基于Python实现一个Windows Tree命令工具

《基于Python实现一个WindowsTree命令工具》今天想要在Windows平台的CMD命令终端窗口中使用像Linux下的tree命令,打印一下目录结构层级树,然而还真有tree命令,但是发现... 目录引言实现代码使用说明可用选项示例用法功能特点添加到环境变量方法一:创建批处理文件并添加到PATH1

使用jenv工具管理多个JDK版本的方法步骤

《使用jenv工具管理多个JDK版本的方法步骤》jenv是一个开源的Java环境管理工具,旨在帮助开发者在同一台机器上轻松管理和切换多个Java版本,:本文主要介绍使用jenv工具管理多个JD... 目录一、jenv到底是干啥的?二、jenv的核心功能(一)管理多个Java版本(二)支持插件扩展(三)环境隔

SpringBoot服务获取Pod当前IP的两种方案

《SpringBoot服务获取Pod当前IP的两种方案》在Kubernetes集群中,SpringBoot服务获取Pod当前IP的方案主要有两种,通过环境变量注入或通过Java代码动态获取网络接口IP... 目录方案一:通过 Kubernetes Downward API 注入环境变量原理步骤方案二:通过

MyBatis Plus 中 update_time 字段自动填充失效的原因分析及解决方案(最新整理)

《MyBatisPlus中update_time字段自动填充失效的原因分析及解决方案(最新整理)》在使用MyBatisPlus时,通常我们会在数据库表中设置create_time和update... 目录前言一、问题现象二、原因分析三、总结:常见原因与解决方法对照表四、推荐写法前言在使用 MyBATis

Python使用smtplib库开发一个邮件自动发送工具

《Python使用smtplib库开发一个邮件自动发送工具》在现代软件开发中,自动化邮件发送是一个非常实用的功能,无论是系统通知、营销邮件、还是日常工作报告,Python的smtplib库都能帮助我们... 目录代码实现与知识点解析1. 导入必要的库2. 配置邮件服务器参数3. 创建邮件发送类4. 实现邮件

CnPlugin是PL/SQL Developer工具插件使用教程

《CnPlugin是PL/SQLDeveloper工具插件使用教程》:本文主要介绍CnPlugin是PL/SQLDeveloper工具插件使用教程,具有很好的参考价值,希望对大家有所帮助,如有错... 目录PL/SQL Developer工具插件使用安装拷贝文件配置总结PL/SQL Developer工具插

使用Python实现获取屏幕像素颜色值

《使用Python实现获取屏幕像素颜色值》这篇文章主要为大家详细介绍了如何使用Python实现获取屏幕像素颜色值,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 一、一个小工具,按住F10键,颜色值会跟着显示。完整代码import tkinter as tkimport pyau