bat脚本编译单片机程序

最近做一个项目,要求写一个脚本文件来编译单片机源文件。当时就纳闷了,编写单片机源程序的Keil平台不是已经够强大了,为什么还要单独写一个bat脚本来对源程序进行编译???经过向大神请教,原来大神编写了智能家居的控制程序,调试时对于不同的家电都需要修改不同的宏定义(对于任何家电的控制都用一个宏定义来表示),这样每次调试时都得进Keil编译器,很浪费时间,再说由于有时候改动并不一定在已打开IED的情况,也不想每次都必须打开Keil来编译。于是就需要编写一个脚本文件来实现对源程序的编译,并且根据输入的不同能选择不同的宏定义来编译,这样就不需要每次都运行Keil了。

写bat脚本就得先明白它的命令语句。由于bat脚本文件是将一系列的DOS命令按一定的顺序集合为一个可执行的文本文件,该文本文件能按要求完成指定的功能,其扩展名为BAT或者CMD。(小知识:通过按下Ctrl+C组合键可强行终止一个批处理的执行过程。),所以下面我只列出我所使用的命令解释:

常用命令:
  1.REM和::  2.ECHO和@  3.PAUSE  4.GOTO和:  5.IF...else...  6.ERRORLEVEL  7.SET  8.FOR  9.%

1.REM 和 ::
REM为注释命令,一般用来给程序加上注解,该命令后的内容不被执行,但能回显。
::也起到注释作用,而且更简洁有效,与rem不同的是,::后的字符行在执行时都不会回显,无论是否用echo on打开命令行回显状态。
2.ECHO 和 @
@字符放在命令前将关闭命令回显,无论此时echo是否为打开状态。ECHO命令的常用功能如下:
(1)打开回显或关闭回显功能
     格式:echo [{on|off}]
如果想关闭“ECHO OFF/ON”自身的显示,在命令行前加上“@”。

(2)输出提示信息
     格式:ECHO 信息内容
(3)输出空行,即相当于输出一个回车
     格式:ECHO.
需要注意的是命令行中的“.”要紧跟ECHO后面,中间不能有空格。
(4)建立新文件或增加文件内容
     格式:ECHO 文件内容>文件名称
           ECHO 文件内容>>文件名称
其中>、>>为重定向符号,表示将内容输出到指定文件。

3.PAUSE
暂停命令,运行该命令后会显示“请按任意键继续”,按下任意键后则终止暂停状态,如想显示其他提示语,可与ECHO联用,例:echo 其他提示语 & pause > nul
4.GOTO 和 :
GOTO为跳转指令,跳转到以:开头的标号处,若标签匹配,则执行标签后的命令,标签的名称可以随便起,但最好是有意义的字符串,GOTO语句就是根据:和标签来寻找下一步运行的位置。
5.IF...else...
条件语句,依据判断值来执行相关的命令,主要有以下形式:
   IF [NOT] ERRORLEVEL number command

   IF [NOT] string1==string2 command
   IF [NOT] EXIST filename command
其中command命令可以是多条命令的组合,组合命令中也可以嵌套使用条件或循环命令。
6.ERRORLEVEL
命令执行返回值,用于判断命令执行状态,默认值为0,一般命令执行出错或者警告会使ERRORLEVEL值为1、2、3,可依据该值确定发生错误的级别。
7.SET
显示、设置或删除环境变量,格式如下:
SET [variable=[string]]

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值