搜索
bottom↓
回复: 7

keil 编译生成的bin文件如何实现自动修改文件名

[复制链接]

出0入0汤圆

发表于 2020-6-10 13:39:46 | 显示全部楼层 |阅读模式
比如:代码中定义了版本号 #define  VERSION   (1.01)
能不能实现编译生成的bin文件直接 就是 stm32_1.01.bin 这种命名方式;
而不需要在c文件版本号修改的请况下,每次编译完成后都手动重命名bin文件;

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出10入0汤圆

发表于 2020-6-10 13:43:07 | 显示全部楼层
写个bat处理,keil编译时自动调用就可以了...keil可以调用用户命令的

出0入0汤圆

 楼主| 发表于 2020-6-10 13:59:07 来自手机 | 显示全部楼层
dgtg 发表于 2020-6-10 13:43
写个bat处理,keil编译时自动调用就可以了...keil可以调用用户命令的

bat可以获取到代码里的版本号吗

出15入178汤圆

发表于 2020-6-10 17:02:54 | 显示全部楼层
本帖最后由 2nd 于 2020-6-10 17:36 编辑

直接支持目前没有,但Post-Build可以自由发挥。我刚试写了个Py脚本:



  1. from shutil import copyfile

  2. if __name__ == "__main__":
  3.     version = ""
  4.     with open("HeadFile.h", 'r') as file:
  5.         cnt = 0
  6.         while(True):
  7.             one_line: str = file.readline()
  8.             cnt += 1
  9.             if one_line == "" or cnt > 50:
  10.                 break
  11.             else:
  12.                 if "VERSION" in one_line:
  13.                     version = one_line.split("(")
  14.                     version = version[1][:4]
  15.     if version != "":
  16.         copyfile("BinFileName.bin", "BinFileName_%s.bin"%version)
复制代码



编辑说明:增加示例代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入59汤圆

发表于 2020-6-10 17:10:29 | 显示全部楼层
一天发布一个版本, 改个文件名字也就几秒钟的时间的吧

出0入45汤圆

发表于 2020-6-10 17:50:43 | 显示全部楼层
学习下。这种功能不错。

出0入0汤圆

 楼主| 发表于 2020-6-11 08:53:27 | 显示全部楼层
2nd 发表于 2020-6-10 17:02
直接支持目前没有,但Post-Build可以自由发挥。我刚试写了个Py脚本:

非常感谢,思路看明白了;
主要是通过脚本从HeadFile.h中检索出“VERSION”字符串,然后就可以重命名bin文件了;
不过需要安装python环境吧,我看看尝试用bat重写下

出10入0汤圆

发表于 2020-6-11 20:29:56 | 显示全部楼层
wq_601840968 发表于 2020-6-11 08:53
非常感谢,思路看明白了;
主要是通过脚本从HeadFile.h中检索出“VERSION”字符串,然后就可以重命名bin ...

用bat也可以读写文件...
试试看吧...百度"bat读写文件"蛮多资料出来的...
改文件名更简单了...
写好bat后,在keil  Options->User, "Run user Programs After Build/Rebuild" 下勾选调用...
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-3-29 05:46

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表