找回密码
 立即注册
查看: 1592|回复: 12

分享一个keil带编译时间的hex操作方法

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:565
  • 最近打卡:2025-06-17 07:50:58
已绑定手机

50

主题

1816

回帖

3134

积分

论坛元老

积分
3134
发表于 2024-4-7 10:13:56 | 显示全部楼层 |阅读模式
      不知道你是否遇见过这样的情况,好久以前的用户告诉你,板子坏了,需要买一个新的板子,但是你现在的板子程序工艺和以前又不一样,不能通用,所以以前的我都是把编译后的hex文件手动另存为带日期的文件,我查找了网上的一些资料,让它自动生成带日期的文件,分享给有需要的人;
   
复制代码
保存批处理文件


  1. @echo off
  2. ::更改当前目录为批处理本身的目录
  3. cd /d %~dp0
  4. ::获取日期 将格式设置为:20110820
  5. set datevar=%date:~0,4%%date:~5,2%%date:~8,2%
  6. ::获取时间中的小时 将格式设置为:24小时制
  7. set timevar=%time:~0,2%
  8. if /i %timevar% LSS 10 (
  9. set timevar=0%time:~1,1%
  10. )
  11. ::获取时间中的分、秒 将格式设置为:3220 ,表示 32分20秒
  12. set timevar=%timevar%%time:~3,2%%time:~6,2%
  13. @echo %datevar%%timevar%
  14. copy A.hex  A%datevar%.hex
复制代码
这样编译结果

截图202404071011442965.jpg 截图202404071012348499.jpg

截图202404071010432899.jpg
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:505
  • 最近打卡:2025-06-17 09:23:18

2

主题

37

回帖

726

积分

高级会员

积分
726
发表于 2024-4-7 11:23:33 | 显示全部楼层
好像要放在工程目录中才行,能设置跟着调用目录走吗
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:565
  • 最近打卡:2025-06-17 07:50:58
已绑定手机

50

主题

1816

回帖

3134

积分

论坛元老

积分
3134
发表于 2024-4-7 13:02:22 | 显示全部楼层
gho*** 发表于 2024-4-7 11:23
好像要放在工程目录中才行,能设置跟着调用目录走吗

我是放在object目录下
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:555
  • 最近打卡:2025-06-16 20:07:38

21

主题

564

回帖

2866

积分

金牌会员

积分
2866
发表于 2024-4-7 16:28:11 | 显示全部楼层
A.hex变成b.hex还会自动复制麽

点评

将楼主的bat稍作修改 将绝对文件名称 “A” 改为参数 “%1”, 如下: 然后Keil的命令行改为如下格式即可 [attachimg]40709[/attachimg] [attachimg]40711[/attachimg]  详情 回复 发表于 2024-4-7 18:46
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:58
  • 最近打卡:2025-06-17 09:13:13

26

主题

1037

回帖

3970

积分

超级版主

积分
3970
发表于 2024-4-7 18:46:28 | 显示全部楼层
wangxi*** 发表于 2024-4-7 16:28
A.hex变成b.hex还会自动复制麽

将楼主的bat稍作修改

将绝对文件名称 “A” 改为参数 “%1”,
如下:
  1. @echo off
  2. ::更改当前目录为批处理本身的目录
  3. cd /d %~dp0
  4. ::获取日期 将格式设置为:20110820
  5. set datevar=%date:~0,4%%date:~5,2%%date:~8,2%
  6. ::获取时间中的小时 将格式设置为:24小时制
  7. set timevar=%time:~0,2%
  8. if /i %timevar% LSS 10 (
  9. set timevar=0%time:~1,1%
  10. )
  11. ::获取时间中的分、秒 将格式设置为:3220 ,表示 32分20秒
  12. set timevar=%timevar%%time:~3,2%%time:~6,2%
  13. @echo %datevar%%timevar%
  14. copy %1.hex  %1_%datevar%.hex
复制代码
然后Keil的命令行改为如下格式即可
截图202404071845291080.jpg

截图202404071846237454.jpg


回复 支持 1 反对 0

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:555
  • 最近打卡:2025-06-16 20:07:38

21

主题

564

回帖

2866

积分

金牌会员

积分
2866
发表于 2024-4-8 08:17:43 | 显示全部楼层
zh*** 发表于 2024-4-7 18:46
将楼主的bat稍作修改

将绝对文件名称 “A” 改为参数 “%1”,

厉害,批处理语句也有通配符啊
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:499
  • 最近打卡:2025-06-17 08:23:30
已绑定手机

14

主题

1312

回帖

3302

积分

论坛元老

积分
3302
发表于 2024-4-8 08:57:50 | 显示全部楼层
批处理玩的都很溜,get到了
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:565
  • 最近打卡:2025-06-17 07:50:58
已绑定手机

50

主题

1816

回帖

3134

积分

论坛元老

积分
3134
发表于 2024-4-8 09:32:02 | 显示全部楼层
zh*** 发表于 2024-4-7 18:46
将楼主的bat稍作修改

将绝对文件名称 “A” 改为参数 “%1”,

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:565
  • 最近打卡:2025-06-17 07:50:58
已绑定手机

50

主题

1816

回帖

3134

积分

论坛元老

积分
3134
发表于 2024-4-8 09:33:00 | 显示全部楼层
21cns*** 发表于 2024-4-8 08:57
批处理玩的都很溜,get到了

不然每次都要去自己拷贝一下
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:468
  • 最近打卡:2025-06-17 06:26:47
已绑定手机

19

主题

3231

回帖

5285

积分

论坛元老

积分
5285
发表于 2024-4-8 11:18:21 来自手机 | 显示全部楼层
加上时间就更好了

点评

要加上时间,只需要将上面批处理的最后一样修改为: copy %1.hex %1_%datevar%_%timevar%.hex 就可以了  详情 回复 发表于 2024-4-8 20:06
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-6-17 18:54 , Processed in 0.276034 second(s), 112 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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