批处理学习笔记1:文件搜索

来源:互联网 发布:淘宝店铺号可以改吗 编辑:程序博客网 时间:2024/05/17 00:08

Windows下的批处理命令功能强大,熟练使用批处理命令能够有效地提高工作效率。
最近下载了openflow的C工程源码,想要对其进行代码分析。首先要根据.c文件生成.i也就是预处理文件。但是工程目录下有很多文件夹,.c文件分布在不同的文件夹下。逐个进行预处理效率太低,于是便希望使用批处理命令提高操作的效率。

在网上搜了下教程,发现批处理命令还是比较容易理解的。我的想法是先搜索指定目录,然后将所有的.c文件名输出到一个txt文件中。一共有两个bat文件,call.bat和getCFile.bat。
call.bat文件的内容如下

::调用getFile.bat脚本::该脚本有两个参数,它会递归搜索第一个参数内的C文件,并将搜索到的C文件名称输入到第二个参数下的txt文件中call getCfile.bat E:\Pangeneral\openflow-1.0.0 E:\Pangeneral\WindowsBatch

getCFile.bat文件的内容如下:

::递归搜索第一个参数(目录),将找到的C文件输入到第二个参数(目录)下的cFile.txt文件中echo off > %2\cFile.txtcd %1for /r %%i in (*.c) do echo %%i >> %2\cFile.txt pause

echo off > %2\cFile.txt清空cFile.txt文件。
这里使用for指令搜索当前目录即’%1’参数的目录下的.c文件,/r表示递归搜索当前目录下所有的文件夹,然后将找到的文件完整路径输出到’%2”参数下的cFile.txt文件中。
执行完call.bat脚本后在WindowsBatch路径中中生成了cFile.txt文件,文件内容如下:

E:\Pangeneral\openflow-1.0.0\controller\controller.c  E:\Pangeneral\openflow-1.0.0\lib\backtrace.c  E:\Pangeneral\openflow-1.0.0\lib\bitmap.c  E:\Pangeneral\openflow-1.0.0\lib\command-line.c  E:\Pangeneral\openflow-1.0.0\lib\csum.c  E:\Pangeneral\openflow-1.0.0\lib\daemon.c  E:\Pangeneral\openflow-1.0.0\lib\dhcp-client.c  E:\Pangeneral\openflow-1.0.0\lib\dhcp.c  E:\Pangeneral\openflow-1.0.0\lib\dpif.c  E:\Pangeneral\openflow-1.0.0\lib\dynamic-string.c  ...

这样,通过批处理命令便成功地搜索出了指定目录下的文件。

0 0
原创粉丝点击