@echo off setlocal :: 启用延迟扩展 setlocal EnableDelayedExpansion @REM 可执行文件(exe)文件名 set EXE_NAME=vro24_app_ @REM 可执行文件(exe)文件路径 set EXE_PATH=.\Objects @REM 定制Hex输出路径 set OUTPUT_PATH=.\Objects @REM 定制Hex文件名 set output_file_name=%EXE_NAME% @REM fromelf文件路径 ::Set FROMELF_PATH=D:\Keil_v5\ARM\ARMCLANG\bin @REM 转换并定制Bin文件名 需要将fromelf.exe的路径添加到环境变量中 fromelf --bin %EXE_PATH%\%EXE_NAME%.axf --output %OUTPUT_PATH%\%output_file_name%.bin @REM 调用内存空间分析工具 ::.\keil-build-viewer.exe echo %date% echo %time% del ..\binFile\*.bin /s del ..\binFile\*.hex /s set FileName=%Date:~0,4%%Date:~5,2%%Date:~8,2% echo %FileName% set "search_dir=%EXE_PATH%" set "search_ext=%EXE_NAME%*.bin" set "found_file=" for /R "%search_dir%" %%F in (%search_ext%) do ( set "found_file=%%~nF" ) echo %found_file% @REM 打印当前路径 echo Current directory is: %cd% copy %OUTPUT_PATH%\%found_file%.bin ..\binFile\%found_file%f1_%FileName%%SW_Ver%%SW_Ver2%.bin copy %OUTPUT_PATH%\%found_file%.bin ..\binFile\%found_file%b1_%FileName%%SW_Ver%%SW_Ver2%.bin copy %OUTPUT_PATH%\%found_file%.hex ..\binFile\%found_file%%FileName%%SW_Ver%%SW_Ver2%.hex @REM 显示并复制Hex文件AREM echo Output hex file: %found_file%%FileName%%SW_Ver%%SW_Ver2%.bin :: 关闭延迟扩展 endlocal ::pause exit @REM 可执行文件(exe)文件名 ::set EXE_NAME=TBL @REM 可执行文件(exe)文件路径 ::set EXE_PATH=.\obiects @REM 定制Hex输出路径 ::set OUTPUT_PATH=.\bin @REM 软件版本文件路径 ::set VERSION_FILE_PATH=..\Control\config.h @REM 软件版本字符串的格式 ::set SOFTWARE_VERSION="COPTER_EFTZ" @REM fromelf文件路径 ::Set FROMELF_PATH=D:\Keil_v5\ARM\ARMCLANG\bin @REM 获取软件版本,通过标识符找到所在行,通过第3个空格找到关键版本信息 ::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,-2% @REM 转换并定制Bin文件名 ::%FROMELF_PATH%\fromelf --bin %EXE_PATH%\%EXE_NAME%.axf --output %OUTPUT_PATH%\%output_file_name%.bin @REM 显示并复制Hex文件AREM ::echo"Output hex file: %OUTPUT_PATH%\%output_file_name%.hex" ::copy %EXE_PATH%\%EXE_NAME%.hex %OUTPUT_PATH%\%output_file_name%.hex ::exit