Bat文件批量处理----DOS命令

写在前面:
本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。

(通常我们在编译完程序后,无论是IAR、Keil或者其他编译器都会产生一些编译垃圾,所以当我们想把这些编译后产生的垃圾给删除时,每次都要进入不同的文件夹删除这些东西,甚至有时候一不小心还会点错,删错东西,因此一般在一些工程主文档里面我们都会看到以 .bat结尾的windows批处理文件,然而当我们把它copy过来自己使用时发现一点用都没有,垃圾依然存在,所以下面稍微分析一下常用的Bat命令。)

IAR编译文件处理:
在这里插入图片描述

Keil编译文件处理:
在这里插入图片描述

分析:
1、: 表示斜杠“\”,而不是反斜杠“/”; 批处理中的注释一般用 符号"::"(两个冒号)或者 rem 命令.双斜杠在批处理中不是注释,她在批处理中是文件或文件夹路径中的一部分,例如:C://Windows//System32.

2、rd是将目录删除,del可以指定删除的文件或者目录。

3、rd命令参数说明
rd 的另外一个写法是rmdir
RD [/S] [/Q] [drive:]path
RMDIR [/S] [/Q] [drive:]path

/S :除目录本身外,还将删除指定目录下的所有文件。用于删除目录树。
/Q :安静模式,带 /S 删除目录树时不要求确认

4、del命令参数说明
/F : 强制删除只读文件。
/S : 从所有子目录删除指定文件。
/Q : 安静模式。删除全局通配符时,不要求确认。
/A : 根据属性选择要删除的文件。
删除指定属性或指定属性以外的文件,/AR、/AH、/AS、/AA分别表示删除只读、隐藏、系统、存档文件; /A-R、/A-H、/A-S、/A-A表示删除除只读、隐藏、系统、存档以外的文件。
例如:
“ DEL/AR * . * ” 表示删除当前目录下所有只读文件
“ DEL/A-S * . * ” 表示删除当前目录下除系统文件以外的所有文件。
不知道文件是什么属性,那么使用del /a即可。

5、“ *.dep ” 表示所有后缀名为dep的文件。

6、 cd表示进入某一指定目录文件夹。

一般文件删除指令:
1、你只想删除一个文件,则须使用del 文件路径 /q /f
2、你想删除目录目录下所有文件,目录本身保留,则可以使用del 目录路径 /q /s /f
3、你想删除整个目录,则可以使用rd 目录路径 /s /q

关于:" for /f “delims=” %%i in (‘dir Objects\ /a-d /b /s’) do (if not %%~xi==.hex (del /s /a /q “%%~si”)) " 这条命令,其实就相当于循环语句加判断语句,其中可以发现“ Objects\ ”这个就是目标文档,而“ .hex ”就是我们需要执行的元素,因为他前面有一个not,所以就相当于取反了(其实就是不执行它啦);
首先,
① “ for /f “delims=” %%i in ” ------- 循环
②“ dir Objects\ /a-d /b /s ” ------- 显示当前目录及子目录中所有文件,各个参数的含义可以用dir/?查看
③“ do (if not %%~xi==.hex (del /s /a /q “%%~si”) ” ------- 除开指定文件外,对所有文件进行删除

这些windows下的 DOS命令,只要放到文本文件中(建立一个记事本),修改其后缀保存为.bat批处理文件,然后双击该文件就会执行。

另外,想详细了解一下批处理命令的可以看一下这个:Bat命令学习
然后,
Keil中各文件类型的解释可以看这里:Keil的一些常见文件类型的作用和功能说明
IAR的点这里:IAR中eww、ewp、ewd···等各文件的含义和用途

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值