@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