




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
批处理之for循环命令实现文件搜索For /r命令实现文件搜索 批处理是windows系统中的一种脚本语言,由txt文件直接编写,扩展名为.cmd或.bat,虽然作为一种脚本,但是灵活使用其中的命令对我们还是很有用的。批处理中的for /r命令能够实现本地文件的搜索功能,首先介绍一下for /r命令实现文件搜索的用法:For /r 路径 %i in (关键字) do 要做的事其中 路径 可以改为你自己要搜索的路径 如 C: 关键字则是你要搜索的文件名 如 qq.exe或 上海滩.mp3 等等。do 后面接的是你要计算机循环做的事情 例如:搜索计算机上C盘所有文件并显示出来,代码如下:For /r C: %i in (*) do echo %i 运行效果:结果将会列出C盘所有文件,因为通配符*代表一串字符,C盘所有文件名都与*匹配。例如:我要计算机搜索 上海滩.mp3 这首歌 (假如在E盘的某个位置)并将其绝对路径显示出来,代码如下:For /r E: %i in (上海滩.mp3) do echo %i运行效果:难道你的电脑上有这么多 上海滩.mp3 吗?其实不是 如果我们将代码改成:For /r E: %i in (上海滩.mp3) do if exist %i echo %i效果如何呢?运行效果如下:所以,当我们在利用for /r命令搜索文件时,请加上if exist %i 判断文件存在时才执行我们要循环做的事情题目:搜索C盘里所有的mp3文件 代码如下:For /r C: %a in (*.mp3) do if exist %a echo %a其中 %后面的字母a可以用其他任意字母代替,如 %s 、%g等等,但必须保证在一组for循环命令中%后面的字母必须相同,不能前面用%i ,后面用%a,这样是错误的。运行效果:如果只记得文件部分名称怎么办,如何搜索? 例如我只记得 一个MP3文件名中有一个“爱”字,这个文件不知道放在磁盘什么位置,于是代码如下:For /r C: %a in (*爱*.mp3) do if exist %a echo %aFor /r D: %a in (*爱*.mp3) do if exist %a echo %aFor /r E: %a in (*爱*.mp3) do if exist %a echo %a根据你电脑有几个磁盘自行添加命令运行效果:结果将会列出所有带“爱”字的MP3文件因此 当我们在设置关键字时需要灵活使用通配符*? *代表一串字符 ?代表一个字符,当设置的关键字最优时,能提高for /r命令帮我搜索文件的效率和准确率以下代码利用了for /r 、set、if、重定向、变量延时等批处理命令并结合HTML代码形成了一个完整的文件搜索脚本程序,利用以下代码可迅速的自定义搜索计算机上的文件,搜索过程中具有较好的直观性,搜索的结果保存成一份以searchresult.html为文件名的html文档并放入和此脚本程序相同的目录中,搜索结果一目了然,利用html代码还可以对搜索到的文件执行“打开文件夹”的操作,增加了方便性。由于本人所学有限,并不能保证程序毫无瑕疵,欢迎指正。代码如下:Echo offmode con cols=35 lines=5 & color 5Bsetlocal enabledelayedexpansionif %cd:-1%= (set pth=%cd%) else (set pth=%cd%)Title 搜索本地文件set Word=set /p Word=输入关键字:set chek1=%Word: =/%set chek2=%Word: =-%if %Word%= cls&ECHO 输入不能为空!&ping -n 2 127.0.0.1nul&%0if %chek1% neq %chek2% cls&echo 禁止输入空格!&ping -n 2 127.0.0.1nul&%0Title 选择范围-文件搜索VER|FIND 版本 6nulif %errorlevel%=0 goto WIN7if %errorlevel%=1 goto XP:WIN7CLSecho 选择范围CHOICE /C 1230z /n /t 15 /d z /m 1.全盘 2.除C盘 3自定义 0.返回IF errorlevel 5 GOTO TIMEUPIF errorlevel 4 %0IF errorlevel 3 GOTO CUSTOMIF errorlevel 2 GOTO EXCEPTIF errorlevel 1 GOTO ALL:XPclsECHO 1.全部磁盘 2.除C盘外的磁盘ECHO 3.自定义范围 0.返回set Range=set /p Range=输入序号选择范围:set chek1=%Range: =/%set chek2=%Range: =-%if %Range%= cls&ECHO 输入不能为空!&ping -n 2 127.0.0.1nul&goto XPif %chek1% neq %chek2% cls&echo 禁止输入空格!&ping -n 2 127.0.0.1nul&goto XPIF %Range%=1 GOTO ALLIF %Range%=2 GOTO EXCEPTIF %Range%=3 GOTO CUSTOMIF %Range%=0 %0cls&echo 输入无效!&ping -n 2 127.0.0.1nul&goto XP :CUSTOMmode con cols=36 lines=8 & color 5BCLSTitle 自定义范围-文件搜索ECHO 输入多个盘符请用,隔开 如:C,D,E,FECHO 警告:重复输入多个相同盘符(如C,C,C)将导致重复扫描!使结果不准确!ECHO 输入无效盘符则只能搜索本程序所在磁盘set /p DSK=输入盘符:mode con cols=60 lines=7 & color 5BclsTitle 文件搜索中.ECHO 状 态:正在搜索.ECHO 关 键 字:%Word%ECHO 搜索范围:%DSK%盘set num=0ECHO 发现个数:!num!ECHO 发现路径:echo 访问作者主页 文件搜索 版本:2.0 欢迎您同我一起学习,进步! 我的QQ:1009693258 编辑时间2012-05-14 22:06%pth%searchresult.htmlECHO 搜索范围:%DSK%盘 关键字:%Word% 搜索时间:%date:0,4%-%date:5,2%-%date:8,2% 星期%date:-1% %time:0,5%pth%searchresult.htmlfor %a in (%DSK%) do ( cd /d %a:for /r %i in (%Word%) do if exist %i cls&set /a num+=1&echo 状 态:正在搜索.&echo 关 键 字:%Word%&echo 搜索范围:%DSK%盘&echo 发现个数:!num!&echo 发现路径:%i&echo 【!num!】 %dpi%nxi打开文件夹%pth%searchresult.html)clstitle 文件搜索完毕!echo 搜索完毕 共搜索到!num!个文件。echo 按任意键查看搜索结果!pausenulstart %pth%searchresult.htmlexit:ALLmode con cols=60 lines=7 & color 5BCLSTitle 文件搜索中.ECHO 状 态:正在搜索.ECHO 关 键 字:%Word%ECHO 搜索范围:全盘set num=0ECHO 发现个数:!num!ECHO 发现路径:echo 访问作者主页 文件搜索 版本:2.0 欢迎您同我一起学习,进步! 我的QQ:1009693258 编辑时间2012-05-14 22:06%pth%searchresult.htmlECHO 搜索范围:全盘 关键字:%Word% 搜索时间:%date:0,4%-%date:5,2%-%date:8,2% 星期%date:-1% %time:0,5%pth%searchresult.htmlfor %a in (C,D,E,F,G,H,I,J) do ( cd /d %a:for /r %i in (%Word%) do if exist %i cls&set /a num+=1&echo 状 态:正在搜索.&echo 关 键 字:%Word%&echo 搜索范围:全盘&echo 发现个数:!num!&echo 发现路径:%i&echo 【!num!】 %dpi%nxi打开文件夹%pth%searchresult.html)clstitle 文件搜索完毕!echo 搜索完毕 共搜索到!num!个文件。echo 按任意键查看搜索结果!pausenulstart %pth%searchresult.htmlexit:EXCEPTmode con cols=60 lines=7 & color 5BCLSTitle 文件搜索中.ECHO 状 态:正在搜索.ECHO 关 键 字:%Word%ECHO 搜索范围:除C盘外的磁盘set num=0ECHO 发现个数:!num!ECHO 发现路径:echo 访问作者主页 文件搜索 版本:2.0 欢迎您同我一起学习,进步! 我的QQ:1009693258 编辑时间2012-05-14 22:06%pth%searchresult.htmlECHO 搜索范围:除C盘外的磁盘 关键字:%Word% 搜索时间:%date:0,4%-%date:5,2%-%date:8,2% 星期%date:-1% %time:0,5%pth%searchresult.htmlfor %a in (D,E,F,G,H,I,J) do ( cd /d %a:for /r %i in (%Word%) do if exist %i cls&set /a num+=1&echo 状 态:正在搜索.&echo 关 键 字:%Word%&echo 搜索范围:除C盘外的磁盘&echo 发现个数:!num!&echo 发现路径:%i&ech
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 施工现场低温天气下混凝土浇筑对策
- 冬季混凝土施工现场作业人员操作手册
- 病房改造提升项目节能评估报告
- 磷酸铁锂电池再生材料项目施工方案
- 储能项目环境监测与管控方案
- 个人健身服务合同范本
- 建立污水处理厂内部污染监控系统
- 移动端虚拟展览体验方案
- 高速公路工程建设风险管理方案
- 风光储一体化电力设备维护方案
- 2025年小学1-6年级重点知识(含答案)
- 职业技术学院智能网联汽车技术专业人才培养方案
- 原木定制衣柜合同范本
- 中班健康《蔬菜宝宝我爱你》课件
- 遗传学(云南大学)知到智慧树期末考试答案题库2025年云南大学
- 抗美援朝精神教育
- 2025年人教部编版语文四年级下册期末测试题及答案(一)
- 办公设备维修维护服务协议
- 部编人教版五年级上册语文各单元习作范文汇编(作文范文汇编)(每单元3篇)
- 建筑工程安全防护文明施工措施费用及使用管理规定
- 项目实施保密方案
评论
0/150
提交评论