临时补丁组合包批处理整理

setlocal EnableDelayedExpansion 


echo 开始组合包整合


set WinRar="C:\Program Files (x86)\WinRAR\RAR.exe"
set Password=888888
set User=wanghb
set FTPIp=192.168.57.28




if exist %Workspace%\临时补丁组合包整理 (
rmdir /s /q %Workspace%\临时补丁组合包整理 

mkdir %Workspace%\临时补丁组合包整理


set PKGPath=%Workspace%\临时补丁组合包整理
set Version=%Version%
set Trade_Version=TS_TRADE_%Version%
set TFC_Version=TS_TFC_%Version%
set TF_Version=TS_TF_%Version%
set PB_Version=TS_PB_%Version%
set PF_Version=TS_PF_%Version%
set PFC_Version=TS_PFC_%Version%
set xiaobaoDir=%xiaobaoDir%
set ALLVersion=%Version%
set pkgtype=INCREMENT
set PBScript=PB_%Version%.sql
set O32Script=O32_%Version%.sql
set UpgradeInstructions=%UpgradeInstructions%


echo %Version%>%PKGPath%\version.txt


mkdir %PKGPath%\升级说明
xcopy /e /q /y %Workspace%\升级说明\%UpgradeInstructions%  %PKGPath%\升级说明\ 


rem FTP下载
call :FTPDOWN
rem pause


rem FTP归档
call :FTPGUIDANG


rem 压缩包解压缩
call :RARRealease
rem pause


rem 检查所有目录是否存在
rem call :CheckDir
rem pause


rem 删除包中的文件
call :delFile


rem TRADE包整理
call :MKTRADEPKG
rem pause


rem TF包整理
call :MKTFPKG
rem pause


rem TFC包整理
call :MKTFCPKG
rem pause


rem PB包整理
call :MKPBPKG
rem pause


rem PF包整理
call :MKPFPKG


rem PFC包整理
call :MKPFCPKG


rem 放入升级说明
call :UpdateFile


rem 包压缩
call :RARPack


rem 包上传FTP时间
call :FTPupdate




call :writeTag


echo 整理完成,请检查。
pause
@echo on
exit /b




echo ====================================FTP下载=============================================================
:FTPDOWN


echo FTP下载前时间:%time% >%PKGPath%\计算时间.log
echo %User%>%PKGPath%\ftp.txt
echo %Password%>>%PKGPath%\ftp.txt
echo cd ZHB测试包>>%PKGPath%\ftp.txt
echo cd %xiaobaoDir%>>%PKGPath%\ftp.txt
echo lcd %PKGPath%>>%PKGPath%\ftp.txt
echo mget *.*>>%PKGPath%\ftp.txt
echo cd ..>>%PKGPath%\ftp.txt
echo cd ..>>%PKGPath%\ftp.txt
echo bye>>%PKGPath%\ftp.txt
ftp -i -s:%PKGPath%\ftp.txt %FTPIp%>%PKGPath%\ftpfile.log
@ping 127.1 /n 10
echo FTP下载后时间:%time% >>%PKGPath%\计算时间.log


goto :eof


echo ====================================包归档=============================================================
:FTPGUIDANG


echo 归档上传FTP前时间:%time% >>%PKGPath%\计算时间.log
  echo 生成上传FTP的命令...
  echo %User%>%PKGPath%\ftpguidang.txt
  echo %Password%>>%PKGPath%\ftpguidang.txt
  echo cd ZHB测试包>>%PKGPath%\ftpguidang.txt
  echo cd 归档>>%PKGPath%\ftpguidang.txt
  echo mkdir %Version%>>%PKGPath%\ftpguidang.txt
  echo cd %Version%>>%PKGPath%\ftpguidang.txt
  echo Send %PKGPath%\TS_O32_*.rar>>%PKGPath%\ftpguidang.txt
  echo Send %PKGPath%\TS_UFT_*.rar>>%PKGPath%\ftpguidang.txt
  echo Send %PKGPath%\TS_UFX_*.rar>>%PKGPath%\ftpguidang.txt
  echo Send %PKGPath%\TS_RC_*.rar>>%PKGPath%\ftpguidang.txt
  echo Send %PKGPath%\TS_UC_*.rar>>%PKGPath%\ftpguidang.txt
  echo Send %PKGPath%\TS_ALGO_*.rar>>%PKGPath%\ftpguidang.txt
  echo Quit>>%PKGPath%\ftpguidang.txt


  echo 正在上传文件...
  ftp -s:%PKGPath%\ftpguidang.txt %FTPIp%>%PKGPath%\ftpconfigfileguidang.log
  
  echo 归档上传FTP后时间:%time% >>%PKGPath%\计算时间.log




goto :eof


echo ====================================压缩包解压缩=============================================================
:RARRealease


    echo 压缩包解压缩前时间:%time% >>%PKGPath%\计算时间.log
start %Workspace%\autopack\ZHB\O32_cmd_unrar.bat
start %Workspace%\autopack\ZHB\RC_cmd_unrar.bat
start %Workspace%\autopack\ZHB\ALGO_cmd_unrar.bat
start %Workspace%\autopack\ZHB\UFX_cmd_unrar.bat
start %Workspace%\autopack\ZHB\UC_cmd_unrar.bat
start %Workspace%\autopack\ZHB\UFT_cmd_unrar.bat

    rem 判断两种环境是否完成编译
    @ping 127.1 /n 5 >nul
echo off
    echo 后台正在解压缩,请耐心等待...
    call :waitunrar unrar
echo on


goto :eof


rem 循环函数,等待解压缩完成
:waitunrar


    if not exist %PKGPath%\unrar* goto :eof
    @ping 127.1 /n 10 >nul
      goto :waitunrar
echo 压缩包解压缩后时间:%time% >>%PKGPath%\计算时间.log


echo ====================================检查所有目录是否存在=============================================================
:CheckDir


for %%b in (O32,RC,ALGO,UFX,UC,UFT) do  (
if not exist %PKGPath%\%%b  (
echo %%b目录检测到不存在,请确认。
exit 1
)
)


goto :eof


echo ====================================删除包中的文件=============================================================
:delFile


  rmdir /q /s %PKGPath%\UC\as2.0_x64\workspace\librm
  
goto :eof




echo ====================================TRADE包整理=============================================================
:MKTRADEPKG


echo TRADE包整理前时间:%time% >>%PKGPath%\计算时间.log
if not exist %PKGPath%\升级说明\TRADE_*.xlsx  (
 goto :eof



echo 开始整理TRADE包


if exist %PKGPath%\TRADE (
rmdir %PKGPath%\TRADE

mkdir %PKGPath%\TRADE


for %%b in (O32,RC,ALGO,UFX) do  (
xcopy /e /q /y %PKGPath%\%%b  %PKGPath%\TRADE\%%b\
)


rem mkdir %PKGPath%\TRADE\RC\前台程序\tools\md5tools
rem xcopy /e /q /y %Workspace%\md5tools  %PKGPath%\TRADE\RC\前台程序\tools\md5tools\


@ping 127.1 /n 5 >nul


    
rem findstr /i /v /b "\<commit;\>" %PKGPath%\TRADE\O32\脚本\%O32Script%>>%PKGPath%\O32_TRADE1.sql
rem findstr /i /v /C:"update TSYSTEMINFO set vc_product_version_no =" %PKGPath%\O32_TRADE1.sql>>%PKGPath%\O32_TRADE.sql
rem echo update TSYSTEMINFO set vc_product_version_no = 'TRADE_%Version%', d_o3_update = sysdate;>>%PKGPath%\O32_TRADE.sql
rem echo.>>%PKGPath%\O32_TRADE.sql
rem echo commit;>>%PKGPath%\O32_TRADE.sql
rem move /y %PKGPath%\O32_TRADE.sql %PKGPath%\TRADE\O32\脚本\%O32Script%
    
   cd /d "%PKGPath%\TRADE\O32\脚本"
   for /f  "tokens=*" %%i in ('dir /s/b/a-d ') do (
         set aa=%%i
         set aa=!aa:O32_相关表及其历史表表结构变化=!
         set aa=!aa:PB_=!
         set aa=!aa:开通=!
         set aa=!aa:统一=!
         set aa=!aa:转换机=!
       if "!aa!" EQU "%%i" (
       
    findstr /i /v "\<commit;\>" !aa!>>%PKGPath%\O32_TRADE1.sql
    findstr /i /v /C:"update TSYSTEMINFO set vc_product_version_no =" %PKGPath%\O32_TRADE1.sql>>%PKGPath%\O32_TRADE.sql
    echo update TSYSTEMINFO set vc_product_version_no = 'TRADE_%Version%', d_o3_update = sysdate;>>%PKGPath%\O32_TRADE.sql
    echo.>>%PKGPath%\O32_TRADE.sql
    echo commit;>>%PKGPath%\O32_TRADE.sql
    
       del /q !aa! 
   
      )
      
   move /y %PKGPath%\O32_TRADE.sql %PKGPath%\TRADE\O32\脚本\%O32Script%
   
   ) 


echo TRADE包整理后时间:%time% >>%PKGPath%\计算时间.log


goto :eof


echo ====================================TF包整理=============================================================
:MKTFPKG


echo TF包整理前时间:%time% >>%PKGPath%\计算时间.log
if not exist %PKGPath%\升级说明\TF_*.xlsx  (
 goto :eof



echo 开始整理TF包


if exist %PKGPath%\TF (
rmdir %PKGPath%\TF

mkdir %PKGPath%\TF


for %%b in (TRADE,UFT) do  (
        xcopy /e /q /y %PKGPath%\%%b  %PKGPath%\TF\%%b\
)


rem 删除其他升级说明
del %PKGPath%\TF\TRADE\TRADE_%Version%临时补丁升级说明.xlsx




echo ;product 对应的产品TRADE、TF、TFC、PB、PFC、PF >%PKGPath%\TF\pkginfo.ini
echo ;pkgtype whole全量包, INCREMENT增量包>>%PKGPath%\TF\pkginfo.ini
echo [Package]>>%PKGPath%\TF\pkginfo.ini
echo product=TF_%ALLVersion%>>%PKGPath%\TF\pkginfo.ini
echo pkgtype=%pkgtype%>>%PKGPath%\TF\pkginfo.ini 




@ping 127.1 /n 5 >nul


  
rem findstr /i /v "\<commit;\>" %PKGPath%\TF\TRADE\O32\脚本\%O32Script%>>%PKGPath%\O32_TF1.sql
rem findstr /i /v /C:"update TSYSTEMINFO set vc_product_version_no =" %PKGPath%\O32_TF1.sql>>%PKGPath%\O32_TF.sql
rem echo update TSYSTEMINFO set vc_product_version_no = 'TF_%Version%', d_o3_update = sysdate;>>%PKGPath%\O32_TF.sql
rem echo.>>%PKGPath%\O32_TF.sql
rem echo commit;>>%PKGPath%\O32_TF.sql
rem move /y %PKGPath%\O32_TF.sql %PKGPath%\TF\TRADE\O32\脚本\%O32Script%
    
    
    cd /d "%PKGPath%\TF\TRADE\O32\脚本"
   for /f  "tokens=*" %%i in ('dir /s/b/a-d ') do (
         set aa=%%i
         set aa=!aa:O32_相关表及其历史表表结构变化=!
         set aa=!aa:PB_=!
         set aa=!aa:开通=!
         set aa=!aa:统一=!
         set aa=!aa:转换机=!
       if "!aa!" EQU "%%i" (
       
    findstr /i /v "\<commit;\>" !aa!>>%PKGPath%\O32_TF1.sql
    findstr /i /v /C:"update TSYSTEMINFO set vc_product_version_no =" %PKGPath%\O32_TF1.sql>>%PKGPath%\O32_TF.sql
    echo update TSYSTEMINFO set vc_product_version_no = 'TF_%Version%', d_o3_update = sysdate;>>%PKGPath%\O32_TF.sql
    echo.>>%PKGPath%\O32_TF.sql
    echo commit;>>%PKGPath%\O32_TF.sql
    
       del /q !aa! 
   
      )
      
  move /y %PKGPath%\O32_TF.sql %PKGPath%\TF\TRADE\O32\脚本\%O32Script%
   
   ) 




echo TF包整理后时间:%time% >>%PKGPath%\计算时间.log




goto :eof


echo ====================================TFC包整理=============================================================
:MKTFCPKG


echo TFC包整理前时间:%time% >>%PKGPath%\计算时间.log
if not exist %PKGPath%\升级说明\TFC_*.xlsx  (
 goto :eof



echo 开始整理TFC包


if exist %PKGPath%\TFC (
rmdir %PKGPath%\TFC

mkdir %PKGPath%\TFC


for %%b in (TRADE,UFT,UC) do  (
xcopy /e /q /y %PKGPath%\%%b  %PKGPath%\TFC\%%b\
)


rem 删除其他升级说明
del %PKGPath%\TFC\TRADE\TRADE_%Version%临时补丁升级说明.xlsx




echo ;product 对应的产品TRADE、TF、TFC、PB、PFC、PF >%PKGPath%\TFC\pkginfo.ini
echo ;pkgtype whole全量包, INCREMENT增量包>>%PKGPath%\TFC\pkginfo.ini
echo [Package]>>%PKGPath%\TFC\pkginfo.ini
echo product=TFC_%ALLVersion%>>%PKGPath%\TFC\pkginfo.ini
echo pkgtype=%pkgtype%>>%PKGPath%\TFC\pkginfo.ini 


@ping 127.1 /n 5 >nul


   
rem findstr /i /v "\<commit;\>" %PKGPath%\TFC\TRADE\O32\脚本\%O32Script%>>%PKGPath%\O32_TFC1.sql
rem findstr /i /v /C:"update TSYSTEMINFO set vc_product_version_no =" %PKGPath%\O32_TFC1.sql>>%PKGPath%\O32_TFC.sql
rem echo update TSYSTEMINFO set vc_product_version_no = 'TFC_%Version%', d_o3_update = sysdate;>>%PKGPath%\O32_TFC.sql
rem echo.>>%PKGPath%\O32_TFC.sql
rem echo commit;>>%PKGPath%\O32_TFC.sql
rem move /y %PKGPath%\O32_TFC.sql %PKGPath%\TFC\TRADE\O32\脚本\%O32Script%
    
   cd /d "%PKGPath%\TFC\TRADE\O32\脚本"
   for /f  "tokens=*" %%i in ('dir /s/b/a-d ') do (
         set aa=%%i
         set aa=!aa:O32_相关表及其历史表表结构变化=!
         set aa=!aa:PB_=!
         set aa=!aa:开通=!
         set aa=!aa:统一=!
         set aa=!aa:转换机=!
       if "!aa!" EQU "%%i" (
       
    findstr /i /v "\<commit;\>" !aa!>>%PKGPath%\O32_TFC1.sql
    findstr /i /v /C:"update TSYSTEMINFO set vc_product_version_no =" %PKGPath%\O32_TFC1.sql>>%PKGPath%\O32_TFC.sql
    echo update TSYSTEMINFO set vc_product_version_no = 'TFC_%Version%', d_o3_update = sysdate;>>%PKGPath%\O32_TFC.sql
    echo.>>%PKGPath%\O32_TFC.sql
    echo commit;>>%PKGPath%\O32_TFC.sql
    
       del /q !aa! 
   
      )
      
  move /y %PKGPath%\O32_TFC.sql %PKGPath%\TFC\TRADE\O32\脚本\%O32Script%
   
   ) 




echo TFC包整理后时间:%time% >>%PKGPath%\计算时间.log




goto :eof


echo ====================================PB包整理=============================================================
:MKPBPKG


echo PB包整理前时间:%time% >>%PKGPath%\计算时间.log
if not exist %PKGPath%\升级说明\PB_*.xlsx  (
 goto :eof



echo 开始整理PB包


if exist %PKGPath%\PB (
rmdir %PKGPath%\PB

mkdir %PKGPath%\PB




if exist %PKGPath%\TRADE (




if not exist %PKGPath%\PB\TRADE mkdir %PKGPath%\PB\TRADE
xcopy /y /q /e %PKGPath%\TRADE %PKGPath%\PB\TRADE\



if not exist %PKGPath%\PB\脚本 mkdir %PKGPath%\PB\脚本
for /f "tokens=1 delims='_'" %%i in ('find "%Version%" %PKGPath%\version.txt') do (
xcopy /y /q /e %Workspace%\PB主脚本\PB_%%i.sql %PKGPath%\
move /y %PKGPath%\PB_%%i.sql %PKGPath%\PB\脚本\%PBScript%
rem xcopy /y /q /e %Workspace%\PB主脚本\%PBScript% %PKGPath%\PB\脚本\
)

rem xcopy /y /q /e %PKGPath%\升级说明\机构端升级说明脚本*.sql %PKGPath%\PB\脚本\
rem xcopy /y /q /e %PKGPath%\升级说明\券商端升级说明脚本*.sql %PKGPath%\PB\脚本\


del /f /s %PKGPath%\PB\TRADE\smat.exe
del /f /s %PKGPath%\PB\TRADE\trade.exe
del /f /s %PKGPath%\PB\TRADE\smatrc.exe

)


@ping 127.1 /n 5 >nul




   cd /d "%PKGPath%\PB\TRADE\O32\脚本"
   for /f  "tokens=*" %%i in ('dir /s/b/a-d ') do (
         set aa=%%i
         set aa=!aa:O32_相关表及其历史表表结构变化=!
         set aa=!aa:PB_=!
         set aa=!aa:开通=!
         set aa=!aa:统一=!
         set aa=!aa:转换机=!
       if "!aa!" EQU "%%i" (
       
     findstr /i /v "\<commit;\>" !aa!>>%PKGPath%\O32_PB1.sql
    findstr /i /v /C:"update TSYSTEMINFO set vc_product_version_no =" %PKGPath%\O32_PB1.sql>>%PKGPath%\O32_PB.sql
    echo update TSYSTEMINFO set vc_product_version_no = 'PB_%Version%', d_o3_update = sysdate;>>%PKGPath%\O32_PB.sql
    echo.>>%PKGPath%\O32_PB.sql
    echo commit;>>%PKGPath%\O32_PB.sql
    
       del /q !aa! 
   
      )
      
      move /y %PKGPath%\O32_PB.sql %PKGPath%\PB\TRADE\O32\脚本\%O32Script%
   
   ) 


goto :eof


echo ====================================PF包整理=============================================================
:MKPFPKG


echo PF包整理前时间:%time% >>%PKGPath%\计算时间.log
if not exist %PKGPath%\升级说明\PF_*.xlsx  (
 goto :eof



echo 开始整理PF包


if exist %PKGPath%\PF (
rmdir %PKGPath%\PF

mkdir %PKGPath%\PF


for %%b in (PB,UFT) do  (
xcopy /e /q /y %PKGPath%\%%b  %PKGPath%\PF\%%b\
)


rem 删除其他升级说明
del %PKGPath%\PF\PB\PB_%Version%临时补丁升级说明.xlsx




echo ;product 对应的产品TRADE、TF、TFC、PB、PFC、PF >%PKGPath%\PF\pkginfo.ini
echo ;pkgtype whole全量包, INCREMENT增量包>>%PKGPath%\PF\pkginfo.ini
echo [Package]>>%PKGPath%\PF\pkginfo.ini
echo product=PF_%ALLVersion%>>%PKGPath%\PF\pkginfo.ini
echo pkgtype=%pkgtype%>>%PKGPath%\PF\pkginfo.ini 


@ping 127.1 /n 5 >nul


  
 
   cd /d "%PKGPath%\PF\PB\TRADE\O32\脚本"
   for /f  "tokens=*" %%i in ('dir /s/b/a-d ') do (
         set aa=%%i
         set aa=!aa:O32_相关表及其历史表表结构变化=!
         set aa=!aa:PB_=!
         set aa=!aa:开通=!
         set aa=!aa:统一=!
         set aa=!aa:转换机=!
       if "!aa!" EQU "%%i" (
       
    findstr /i /v "\<commit;\>" !aa!>>%PKGPath%\O32_PF1.sql
    findstr /i /v /C:"update TSYSTEMINFO set vc_product_version_no =" %PKGPath%\O32_PF1.sql>>%PKGPath%\O32_PF.sql
    echo update TSYSTEMINFO set vc_product_version_no = 'PF_%Version%', d_o3_update = sysdate;>>%PKGPath%\O32_PF.sql
    echo.>>%PKGPath%\O32_PF.sql
    echo commit;>>%PKGPath%\O32_PF.sql
    
       del /q !aa! 
   
      )
      
      move /y %PKGPath%\O32_PF.sql %PKGPath%\PF\PB\TRADE\O32\脚本\%O32Script%
   
   ) 
   
echo PF包整理后时间:%time% >>%PKGPath%\计算时间.log


goto :eof


echo ====================================PFC包整理=============================================================
:MKPFCPKG


echo PFC包整理前时间:%time% >>%PKGPath%\计算时间.log
if not exist %PKGPath%\升级说明\PFC_*.xlsx  (
 goto :eof



echo 开始整理PFC包


if exist %PKGPath%\PFC (
rmdir %PKGPath%\PFC

mkdir %PKGPath%\PFC


for %%b in (PB,UFT,UC) do  (
xcopy /e /q /y %PKGPath%\%%b  %PKGPath%\PFC\%%b\
)


rem 删除其他升级说明
del %PKGPath%\PFC\PB\PB_%Version%临时补丁升级说明.xlsx




echo ;product 对应的产品TRADE、TF、TFC、PB、PFC、PF >%PKGPath%\PFC\pkginfo.ini
echo ;pkgtype whole全量包, INCREMENT增量包>>%PKGPath%\PFC\pkginfo.ini
echo [Package]>>%PKGPath%\PFC\pkginfo.ini
echo product=PFC_%ALLVersion%>>%PKGPath%\PFC\pkginfo.ini
echo pkgtype=%pkgtype%>>%PKGPath%\PFC\pkginfo.ini 


@ping 127.1 /n 5 >nul


   
  
   cd /d "%PKGPath%\PFC\PB\TRADE\O32\脚本"
   for /f  "tokens=*" %%i in ('dir /s/b/a-d ') do (
         set aa=%%i
         set aa=!aa:O32_相关表及其历史表表结构变化=!
         set aa=!aa:PB_=!
         set aa=!aa:开通=!
         set aa=!aa:统一=!
         set aa=!aa:转换机=!
       if "!aa!" EQU "%%i" (
          
    findstr /i /v "\<commit;\>" !aa!>>%PKGPath%\O32_PFC1.sql
    findstr /i /v /C:"update TSYSTEMINFO set vc_product_version_no =" %PKGPath%\O32_PFC1.sql>>%PKGPath%\O32_PFC.sql
    echo update TSYSTEMINFO set vc_product_version_no = 'PFC_%Version%', d_o3_update = sysdate;>>%PKGPath%\O32_PFC.sql
    echo.>>%PKGPath%\O32_PFC.sql
    echo commit;>>%PKGPath%\O32_PFC.sql
    
       del /q !aa! 
   
      )
      
      move /y %PKGPath%\O32_PFC.sql %PKGPath%\PFC\PB\TRADE\O32\脚本\%O32Script%
   
   ) 


echo PFC包整理后时间:%time% >>%PKGPath%\计算时间.log




goto :eof


echo ====================================放升级说明=============================================================
:UpdateFile


copy %PKGPath%\升级说明\TRADE_*.xlsx %PKGPath%\TRADE\
rem copy %Workspace%\各产品业务支持清单\各产品业务支持清单.xlsx %PKGPath%\TRADE\
copy %PKGPath%\升级说明\TF_*.xlsx %PKGPath%\TF\
rem copy %Workspace%\各产品业务支持清单\各产品业务支持清单.xlsx %PKGPath%\TF\
copy %PKGPath%\升级说明\TFC_*.xlsx %PKGPath%\TFC\
rem copy %Workspace%\各产品业务支持清单\各产品业务支持清单.xlsx %PKGPath%\TFC\
copy %PKGPath%\升级说明\PB_*.xlsx %PKGPath%\PB\
rem copy %Workspace%\各产品业务支持清单\各产品业务支持清单.xlsx %PKGPath%\PB\
copy %PKGPath%\升级说明\PF_*.xlsx %PKGPath%\PF\
rem copy %Workspace%\各产品业务支持清单\各产品业务支持清单.xlsx %PKGPath%\PF\
copy %PKGPath%\升级说明\PFC_*.xlsx %PKGPath%\PFC\
rem copy %Workspace%\各产品业务支持清单\各产品业务支持清单.xlsx %PKGPath%\PFC\


goto :eof


echo ====================================压缩=============================================================
:RARPack
  
    echo 压缩前时间:%time% >>%PKGPath%\计算时间.log
    start %Workspace%\autopack\ZHB\TRADE_cmd_rarpack.bat
    start %Workspace%\autopack\ZHB\TF_cmd_rarpack.bat
    start %Workspace%\autopack\ZHB\TFC_cmd_rarpack.bat
    start %Workspace%\autopack\ZHB\PB_cmd_rarpack.bat
start %Workspace%\autopack\ZHB\PF_cmd_rarpack.bat
start %Workspace%\autopack\ZHB\PFC_cmd_rarpack.bat

  rem 判断两种环境是否完成编译
    @ping 127.1 /n 5 >nul
echo off
    echo 后台正在压缩,请耐心等待...
    call :waitrarpack rarpack
echo on


goto :eof


rem 循环函数,等待解压缩完成
:waitrarpack


    if not exist %PKGPath%\rarpack* goto :eof
    @ping 127.1 /n 10 >nul
      goto :waitrarpack
echo 压缩后时间:%time% >>%PKGPath%\计算时间.log


echo ====================================包上传FTP=============================================================
:FTPupdate


echo 包上传FTP前时间:%time% >>%PKGPath%\计算时间.log
  echo 生成上传FTP的命令...
  echo %User%>%PKGPath%\ftpconfig.txt
  echo %Password%>>%PKGPath%\ftpconfig.txt
  echo cd 升级包>>%PKGPath%\ftpconfig.txt
  echo cd 组合发布包>>%PKGPath%\ftpconfig.txt
  echo cd 临时补丁>>%PKGPath%\ftpconfig.txt
  echo mkdir %xiaobaoDir%>>%PKGPath%\ftpconfig.txt
  echo cd %xiaobaoDir%>>%PKGPath%\ftpconfig.txt
  echo mkdir %Version%>>%PKGPath%\ftpconfig.txt
  echo cd %Version%>>%PKGPath%\ftpconfig.txt
  echo Send %PKGPath%\%Trade_Version%*.rar>>%PKGPath%\ftpconfig.txt
  echo Send %PKGPath%\%TFC_Version%*.rar>>%PKGPath%\ftpconfig.txt
  echo Send %PKGPath%\%TF_Version%*.rar>>%PKGPath%\ftpconfig.txt
  echo Send %PKGPath%\%PB_Version%*.rar>>%PKGPath%\ftpconfig.txt
  echo Send %PKGPath%\%PF_Version%*.rar>>%PKGPath%\ftpconfig.txt
  echo Send %PKGPath%\%PFC_Version%*.rar>>%PKGPath%\ftpconfig.txt
  echo Quit>>%PKGPath%\ftpconfig.txt


  echo 正在上传文件...
  ftp -s:%PKGPath%\ftpconfig.txt %FTPIp%>%PKGPath%\ftpconfigfile.log
  
  echo 包上传FTP后时间:%time% >>%PKGPath%\计算时间.log




goto :eof


echo ===================================打标签=============================================================
:writeTag


    call :writeTrueTag UC


    call :writeTrueTag UFT
    call :writeTrueTag compliance


    call :writeTrueTag RC


    call :writeTrueTag UFX


    call :writeTrueTag O32
    
    call :writeTrueTag ALGO




rem if "%ALGO%" equ "true" ( 
rem 打包配置文件
rem call :writeTrueTag ALGO
rem ) else (
rem 打包配置文件
rem call :writeFauseTag https://192.168.57.208/fund/dept1/FM/AlgoServer/branches/2016版本/ALGO_20160122/版本信息/版本信息.txt ALGO
rem )


goto :eof


echo ===================================打标签=============================================================
:writeTrueTag




echo %1_%Version%(%date:~0,4%%date:~5,2%%date:~8,2%发布) >>%Workspace%\%1版本信息\版本信息.txt
svn commit -m "%1_%Version%(%date:~0,4%%date:~5,2%%date:~8,2%发布)" %Workspace%\%1版本信息\版本信息.txt>>%PKGPath%\svnlog_commit.log 2>&1
 
goto :eof


:writeFauseTag
svn.exe log %1>%PKGPath%\%2svnlog.txt


for /f "tokens=* delims=" %%i in (%PKGPath%\%2svnlog.txt) do (
 set aa=%%i
     set aa=!aa: o4cm =!
     set aa=!aa: wanghb =!
     set aa=!aa: liting =!
     set aa=!aa:/版本信息=!
     set aa=!aa:----=!
     if "!aa!" EQU "%%i" (
      echo !aa!>%PKGPath%\%2Context.txt
      set VersionLog=!aa!     
     ) 
   )  
 


   rem 获取当前基础前台SVN版本信息
svn info %1 >%PKGPath%\%2svninfo_Version.txt
for /f "tokens=1 delims=" %%i in ('find "Last Changed Rev: " %PKGPath%\%2svninfo_Version.txt') do (
  set fver=%%i
  set fver=!fver:Last Changed Rev: =!
  if "!fver!" NEQ "%%i" (
    echo 版本信息:!fver!>%PKGPath%\版本信息.txt
    set ReVersion=!fver!
    )
)
set ucadd=%VersionLog%%TFC_Version%

svn propset svn:log "%ucadd%" -r%ReVersion% %1 –revprop>%PKGPath%\%2svninfo_Version.txt


goto :eof
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1 目标检测的定义 目标检测(Object Detection)的任务是找出图像中所有感兴趣的目标(物体),确定它们的类别和位置,是计算机视觉领域的核心问题之一。由于各类物体有不同的外观、形状和姿态,加上成像时光照、遮挡等因素的干扰,目标检测一直是计算机视觉领域最具有挑战性的问题。 目标检测任务可分为两个关键的子任务,目标定位和目标分类。首先检测图像中目标的位置(目标定位),然后给出每个目标的具体类别(目标分类)。输出结果是一个边界框(称为Bounding-box,一般形式为(x1,y1,x2,y2),表示框的左上角坐标和右下角坐标),一个置信度分数(Confidence Score),表示边界框中是否含检测对象的概率和各个类别的概率(首先得到类别概率,经过Softmax可得到类别标签)。 1.1 Two stage方法 目前主流的基于深度学习的目标检测算法主要分为两类:Two stage和One stage。Two stage方法将目标检测过程分为两个阶段。第一个阶段是 Region Proposal 生成阶段,主要用于生成潜在的目标候选框(Bounding-box proposals)。这个阶段通常使用卷积神经网络(CNN)从输入图像中提取特征,然后通过一些技巧(如选择性搜索)来生成候选框。第二个阶段是分类和位置精修阶段,将第一个阶段生成的候选框输入到另一个 CNN 中进行分类,并根据分类结果对候选框的位置进行微调。Two stage 方法的优点是准确度较高,缺点是速度相对较慢。 常见Tow stage目标检测算法有:R-CNN系列、SPPNet等。 1.2 One stage方法 One stage方法直接利用模型提取特征值,并利用这些特征值进行目标的分类和定位,不需要生成Region Proposal。这种方法的优点是速度快,因为省略了Region Proposal生成的过程。One stage方法的缺点是准确度相对较低,因为它没有对潜在的目标进行预先筛选。 常见的One stage目标检测算法有:YOLO系列、SSD系列和RetinaNet等。 2 常见名词解释 2.1 NMS(Non-Maximum Suppression) 目标检测模型一般会给出目标的多个预测边界框,对成百上千的预测边界框都进行调整肯定是不可行的,需要对这些结果先进行一个大体的挑选。NMS称为非极大值抑制,作用是从众多预测边界框中挑选出最具代表性的结果,这样可以加快算法效率,其主要流程如下: 设定一个置信度分数阈值,将置信度分数小于阈值的直接过滤掉 将剩下框的置信度分数从大到小排序,选中值最大的框 遍历其余的框,如果和当前框的重叠面积(IOU)大于设定的阈值(一般为0.7),就将框删除(超过设定阈值,认为两个框的里面的物体属于同一个类别) 从未处理的框中继续选一个置信度分数最大的,重复上述过程,直至所有框处理完毕 2.2 IoU(Intersection over Union) 定义了两个边界框的重叠度,当预测边界框和真实边界框差异很小时,或重叠度很大时,表示模型产生的预测边界框很准确。边界框A、B的IOU计算公式为: 2.3 mAP(mean Average Precision) mAP即均值平均精度,是评估目标检测模型效果的最重要指标,这个值介于0到1之间,且越大越好。mAP是AP(Average Precision)的平均值,那么首先需要了解AP的概念。想要了解AP的概念,还要首先了解目标检测中Precision和Recall的概念。 首先我们设置置信度阈值(Confidence Threshold)和IoU阈值(一般设置为0.5,也会衡量0.75以及0.9的mAP值): 当一个预测边界框被认为是True Positive(TP)时,需要同时满足下面三个条件: Confidence Score > Confidence Threshold 预测类别匹配真实值(Ground truth)的类别 预测边界框的IoU大于设定的IoU阈值 不满足条件2或条件3,则认为是False Positive(FP)。当对应同一个真值有多个预测结果时,只有最高置信度分数的预测结果被认为是True Positive,其余被认为是False Positive。 Precision和Recall的概念如下图所示: Precision表示TP与预测边界框数量的比值 Recall表示TP与真实边界框数量的比值 改变不同的置信度阈值,可以获得多组Precision和Recall,Recall放X轴,Precision放Y轴,可以画出一个Precision-Recall曲线,简称P-R
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值