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

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

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:577
  • 最近打卡:2025-06-29 10:04:32
已绑定手机

50

主题

1821

回帖

3192

积分

论坛元老

积分
3192
发表于 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
  • 打卡总天数:517
  • 最近打卡:2025-06-29 08:13:46

2

主题

37

回帖

774

积分

高级会员

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

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:577
  • 最近打卡:2025-06-29 10:04:32
已绑定手机

50

主题

1821

回帖

3192

积分

论坛元老

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

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

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:567
  • 最近打卡:2025-06-29 07:56:21

21

主题

564

回帖

2924

积分

金牌会员

积分
2924
发表于 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
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民I
  • 打卡总天数:66
  • 最近打卡:2025-06-29 22:35:00

26

主题

1052

回帖

4038

积分

超级版主

积分
4038
发表于 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
  • 打卡总天数:567
  • 最近打卡:2025-06-29 07:56:21

21

主题

564

回帖

2924

积分

金牌会员

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

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

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

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:511
  • 最近打卡:2025-06-29 06:25:44
已绑定手机

14

主题

1322

回帖

3420

积分

论坛元老

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

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:577
  • 最近打卡:2025-06-29 10:04:32
已绑定手机

50

主题

1821

回帖

3192

积分

论坛元老

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

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

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:577
  • 最近打卡:2025-06-29 10:04:32
已绑定手机

50

主题

1821

回帖

3192

积分

论坛元老

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

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

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:481
  • 最近打卡:2025-06-30 00:05:33
已绑定手机

19

主题

3233

回帖

5351

积分

论坛元老

积分
5351
发表于 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-30 00:30 , Processed in 0.128354 second(s), 112 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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