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

    技术2024-07-21  61

    @echo offrem -- =============================================rem -- DESCRIPTION: <自動_VSS管理バッチ>rem -- AUTHOR:  <>rem -- CREATE DATE: <2010/12/27>rem -- =============================================

    rem ----------------------------rem         Local Folder Namerem ----------------------------@set local_filename=vss_projectrem ----------------------------rem         Vss_usernamerem ----------------------------@set vss_username=fanh

    rem ----------------------------rem         Vss_passwordrem ----------------------------@set vss_password=fanh

    rem ----------------------------rem         Local Folder pathrem ----------------------------@set local_filepath=D:/

    rem ----------------------------rem          Application Namerem ----------------------------@set local_app_name=project.sln

    rem ----------------------------rem         Vss_project_pathrem ----------------------------@set vss_project_path=$/code/project

    rem ----------------------------rem         Vss_dirrem ----------------------------@set vss_dir=//192.168.0.218/vss

    rem ----------------------------rem         Vss_install_pathrem ----------------------------@set vss_install_path=C:/Program Files/Microsoft Visual SourceSafe

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

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

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

    rem ----------------pa----------------------------------------------rem         コピー元範囲及びファイルタイプ_(default: txt)rem --------------------------------------------------------------@set file_type1=/project.App/bin@set file_type2=/project.App/obj@set file_type3=/*.scc@set file_type4=/*.vssscc@set file_type5=/*.vspscc@set file_type6=/project.Common/bin@set file_type7=/project.Common/objrem ----------------------------rem         vss_flag(1:on, 0:off)rem ----------------------------@set vss_flag=1

    rem ----------------------------rem         build_flag(1:on, 0:off)rem ----------------------------@set build_flag=0

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

    rem ----------------------------rem         納品__Local Folder Namerem ----------------------------@set local_filename_order=vss_project1

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

    rem ----------------------------rem         同元コピー_flag(1:on, 0:off)rem 両方フォルダに同じファイルを同歩に更新することができるrem ----------------------------@set sameCopy_flag=0

    rem ----------------------------rem         同元コピー削除_flag(1:on, 0:off)rem 両方フォルダに同じファイルを削除することができるrem ----------------------------@set sameCopy_flag_del=0

    rem ----------------------------rem         同元コピー_Local Folder Namerem ----------------------------@set local_filename_sameCopy=vss_aaa1

    rem ----------------------------rem         同元コピーVss_project_pathrem ----------------------------@set vss_project_path_sameCopy=$/vss_aaa1

    @set path=%path%;%vss_install_path%@set ssdir=%vss_dir%@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 sameCopy

    @:do_vssrem ----------------------------rem         do vssrem ----------------------------

    @if not exist %local_filename% (md %local_filepath%%local_filename%)

    echo /echo get files from vssecho /@ss workfold %vss_project_path% %local_filepath%%local_filename%@ss get -GL%local_filepath%%local_filename% %vss_project_path% -R -W -I-

    @if %build_flag% EQU 1 goto do_build@goto sameCopy @:do_buildrem ----------------------------rem         do buildrem ----------------------------echo -- ===========================================================echo build startingecho -- ===========================================================@set path=%path%;%net_install_path%@if exist %local_filepath%%local_logfile_name% (del %local_filepath%%local_logfile_name%)@devenv /build release %local_filepath%%local_filename%/%local_app_name% >>%local_filepath%%local_logfile_name%@if errorlevel 1 goto error@goto success@:errorecho;echo -- ===========================================================echo build failureecho -- ===========================================================@goto end@:success

    echo;echo -- ===========================================================echo build successecho -- ===========================================================@goto sameCopy

    @:sameCopy@if %sameCopy_flag% NEQ 1 goto sameDeleterem ----------------------------rem         同元コピーrem ----------------------------

    @if not exist %local_filename% (md %local_filepath%%local_filename_sameCopy% && xcopy %local_filepath%%local_filename% %local_filepath%%local_filename_sameCopy% /S /Y && DEL %local_filepath%%local_filename_sameCopy%%file_type3% /S/Q && DEL %local_filepath%%local_filename_sameCopy%%file_type4% /S/Q && ss create /%local_filename_sameCopy% -Y%Vss_username%,%Vss_password% -I-Y -C && ss cp /%local_filename_sameCopy% -Y%Vss_username%,%Vss_password% -I-Y && ss add %local_filepath%%local_filename_sameCopy% -R -Y%Vss_username%,%Vss_password% -I-Y -C -W && @goto end)@ss cp %vss_project_path_sameCopy% -Y%Vss_username%,%Vss_password% -I-Y && @ss workfold %vss_project_path_sameCopy%/%local_filename_sameCopy% %local_filepath%%local_filename_sameCopy% -Y%Vss_username%,%Vss_password% -I-Y && D: && CD %local_filepath%%local_filename_sameCopy% && @del *.* /s/q/f && @ss checkout %vss_project_path_sameCopy%/%local_filename_sameCopy% -R -Y%Vss_username%,%Vss_password% -I-Y -C && @xcopy %local_filepath%%local_filename% %local_filepath%%local_filename_sameCopy% /S /Y /U /R && @ss checkin %vss_project_path_sameCopy%/%local_filename_sameCopy% -R -Y%Vss_username%,%Vss_password% -I-Y -C -W && CD / && goto end

    @:sameDelete@if %sameCopy_flag_del% NEQ 1 goto do_orderrem ----------------------------rem         同元削除rem ----------------------------@ss destroy %vss_project_path_sameCopy% -Y%Vss_username%,%Vss_password% -I-Y && @ss cp $ -Y%Vss_username%,%Vss_password% -I-Y goto do_order

    @:do_order@if %order_flag% NEQ 1 goto do_orderrem ----------------------------rem         do orderrem ----------------------------@IF EXIST %local_filepath%%local_filename_order% (DEL %local_filepath%%local_filename_order%%file_type1% /S/Q/F & DEL %local_filepath%%local_filename_order%%file_type2% /S/Q/F & DEL %local_filepath%%local_filename_order%%file_type6% /S/Q/F & DEL %local_filepath%%local_filename_order%%file_type7% /S/Q/F && DEL %local_filepath%%local_filename_order%%file_type3% /S/Q/F && DEL %local_filepath%%local_filename_order%%file_type3% /S/Q/F/A:H && DEL %local_filepath%%local_filename_order%%file_type4% /S/Q/F && DEL %local_filepath%%local_filename_order%%file_type5% /S/Q/F && goto do_rar)

    @:do_rar@if %rar_flag% NEQ 1 goto endrem ----------------------------rem         do rarrem ----------------------------@set path=%path%;%rar_install_path%@IF EXIST %local_filepath%%local_filename_order% (D: && CD %local_filepath%%local_filename_order% && rar a %local_filepath%%local_filename_order% -r && cd /)echo;echo -- ===========================================================echo rar successecho -- ===========================================================

    @:endpause

    最新回复(0)