@echo off
@REM 可执行文件(Hex)文件名
set HEX_NAME=Demo
@REM 可执行文件(Hex)文件路径
set HEX_PATH=.\Objects
@REM 定制Hex输出路径
set OUTPUT_PATH=.\Output
@REM 软件版本文件路径
set VERSION_FILE_PATH=..\App\main.c
@REM 软件版本字符串的格式
set SOFTWARE_VERSION="#define SOFTWARE_VERSION"
@REM 获取系统日期和时间
set YEAR=%DATE:~2,2%
set MONTH=%DATE:~5,2%
set DAY=%DATE:~8,2%
set HOUR=%TIME:~0,2%
set MINUTE=%TIME:~3,2%
set SECOND=%TIME:~6,2%
set CURRENT_DATE=%YEAR%%MONTH%%DAY%_%HOUR%%MINUTE%%SECOND%
@REM 获取软件版本 tokens=3提取第三列 findstr /C:使用指定字符串作为文字搜索字符串。
for /f "tokens=3 delims= " %%i in ('findstr /C:%SOFTWARE_VERSION% %VERSION_FILE_PATH%') do set SW_Ver=%%i
set SW_Ver=%SW_Ver:~1,-1%
@REM 定制Hex文件名
set output_file_name=%HEX_NAME%_V%SW_Ver%_%CURRENT_DATE%
@REM 显示并复制Hex文件
echo "Output hex file: %OUTPUT_PATH%\%output_file_name%.hex"
copy %HEX_PATH%\%HEX_NAME%.hex %OUTPUT_PATH%\%output_file_name%.hex
@REM 转换并定制Bin文件名
C:\Keil_v5\ARM\ARMCLANG\bin\fromelf.exe --bin %HEX_PATH%\%HEX_NAME%.axf --output %OUTPUT_PATH%\%output_file_name%.bin
exit
bat 自动化脚本,主要自动更改MCU的hex文件