mirror of
https://github.com/rizonesoft/Notepad3.git
synced 2026-06-11 21:03:05 +08:00
119 lines
3.7 KiB
Batchfile
119 lines
3.7 KiB
Batchfile
@echo off
|
|
setlocal enableextensions
|
|
set SCRIPT_DIR=%~dp0
|
|
|
|
set NP3_WIN32_DIR=%SCRIPT_DIR%..\Bin\Release_x86_v143\
|
|
set NP3_X64_DIR=%SCRIPT_DIR%..\Bin\Release_x64_v143\
|
|
set NP3_BUILD_VER=%SCRIPT_DIR%..\Versions\build.txt
|
|
|
|
:: --------------------------------------------------------------------------------------------------------------------
|
|
|
|
set YY=00
|
|
set MM=00
|
|
set DD=00
|
|
|
|
call :GETDATE
|
|
set "LZ=%MM:~0,1%"
|
|
if [%LZ%]==[0] set "MM=%MM:~1,1%"
|
|
|
|
set BUILD=0
|
|
call :GETBUILD "%~1"
|
|
|
|
set VERSHOULD=7.%YY%.%MM%%DD%.%BUILD%
|
|
|
|
:: --------------------------------------------------------------------------------------------------------------------
|
|
|
|
set TEST_RESULT=failure
|
|
|
|
set FILEVER=
|
|
set FILEVER32=
|
|
if exist "%NP3_WIN32_DIR%Notepad3.exe" call :GETFILEVER "%NP3_WIN32_DIR%Notepad3.exe"
|
|
if defined FILEVER set FILEVER32=%FILEVER%
|
|
set FILEVER=
|
|
set FILEVER64=
|
|
if exist "%NP3_X64_DIR%Notepad3.exe" call :GETFILEVER "%NP3_X64_DIR%Notepad3.exe"
|
|
if defined FILEVER set FILEVER64=%FILEVER%
|
|
|
|
if defined FILEVER32 set TEST_RESULT=success
|
|
if defined FILEVER64 set TEST_RESULT=success
|
|
call :COMPAREVER "%VERSHOULD%" "%FILEVER32%" "%FILEVER64%"
|
|
|
|
:: ====================================================================================================================
|
|
goto :END
|
|
:: --------------------------------------------------------------------------------------------------------------------
|
|
|
|
:COMPAREVER
|
|
if ["%~2"] NEQ [""] (
|
|
if ["%~1"] NEQ ["%~2"] (
|
|
echo ERROR: Expected version "%~1", found version "%~2" in 32-bit exe
|
|
set TEST_RESULT=failure
|
|
)
|
|
)
|
|
if ["%~3"] NEQ [""] (
|
|
if ["%~1"] NEQ ["%~3"] (
|
|
echo ERROR: Expected version "%~1", found version "%~3" in 64-bit exe
|
|
set TEST_RESULT=failure
|
|
)
|
|
)
|
|
goto:EOF
|
|
:: --------------------------------------------------------------------------------------------------------------------
|
|
|
|
:GETDATE
|
|
for /f "tokens=2 delims==" %%a in ('
|
|
wmic OS Get localdatetime /value
|
|
') do set "dt=%%a"
|
|
set "YY=%dt:~2,2%" & set "YYYY=%dt:~0,4%" & set "MM=%dt:~4,2%" & set "DD=%dt:~6,2%"
|
|
set "HH=%dt:~8,2%" & set "Min=%dt:~10,2%" & set "Sec=%dt:~12,2%"
|
|
::set "datestamp=%YYYY%%MM%%DD%" & set "timestamp=%HH%%Min%%Sec%"
|
|
::set "fullstamp=%YYYY%-%MM%-%DD%_%HH%-%Min%-%Sec%"
|
|
::echo src: "%dt%"
|
|
::echo datestamp: "%datestamp%"
|
|
::echo timestamp: "%timestamp%"
|
|
::echo fullstamp: "%fullstamp%"
|
|
goto:EOF
|
|
:: --------------------------------------------------------------------------------------------------------------------
|
|
|
|
:GETFILEVER
|
|
set "file=%~1"
|
|
if not defined file goto:EOF
|
|
if not exist "%file%" goto:EOF
|
|
set "FILEVER="
|
|
for /F "tokens=2 delims==" %%a in ('
|
|
wmic datafile where name^="%file:\=\\%" Get Version /value
|
|
') do set "FILEVER=%%a"
|
|
::echo %file% = %FILEVER%
|
|
goto:EOF
|
|
:: --------------------------------------------------------------------------------------------------------------------
|
|
|
|
:GETBUILD
|
|
set argbuild=%~1
|
|
if defined argbuild (
|
|
set BUILD=%argbuild%
|
|
goto:EOF
|
|
)
|
|
::set /p nxbuild=<"%NP3_BUILD_VER%"
|
|
::set /a BUILD=%nxbuild% - 1
|
|
set /p BUILD=<"%NP3_BUILD_VER%"
|
|
goto:EOF
|
|
:: --------------------------------------------------------------------------------------------------------------------
|
|
|
|
:: ====================================================================================================================
|
|
:END
|
|
echo Expected Version = %VERSHOULD%
|
|
if ["%FILEVER32%"] NEQ [""] (
|
|
echo 32-bit exe Version = %FILEVER32%
|
|
) else (
|
|
echo No 32-bit exe Version found
|
|
)
|
|
if ["%FILEVER64%"] NEQ [""] (
|
|
echo 64-bit exe Version = %FILEVER64%
|
|
) else (
|
|
echo No 64-bit exe Version found
|
|
)
|
|
echo Version Test Result: %TEST_RESULT%
|
|
:: - make TEST_RESULT survive 'endlocal'
|
|
endlocal & set TEST_RESULT=%TEST_RESULT%
|
|
::pause
|
|
if [%TEST_RESULT%] NEQ [success] exit /B 1
|
|
:: ====================================================================================================================
|