批处理for循环命令之文件搜索

上传人:宝路 文档编号:3898173 上传时间:2017-08-13 格式:DOC 页数:10 大小:287KB
返回 下载 相关 举报
批处理for循环命令之文件搜索_第1页
第1页 / 共10页
批处理for循环命令之文件搜索_第2页
第2页 / 共10页
批处理for循环命令之文件搜索_第3页
第3页 / 共10页
批处理for循环命令之文件搜索_第4页
第4页 / 共10页
批处理for循环命令之文件搜索_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《批处理for循环命令之文件搜索》由会员分享,可在线阅读,更多相关《批处理for循环命令之文件搜索(10页珍藏版)》请在金锄头文库上搜索。

1、批处理之 for 循环命令实现文件搜索For /r 命令实现文件搜索批处理是 windows 系统中的一种脚本语言,由 txt 文件直接编写,扩展名为.cmd 或.bat,虽然作为一种脚本,但是灵活使用其中的命令对我们还是很有用的。批处理中的 for /r 命令能够实现本地文件的搜索功能,首先介绍一下 for /r 命令实现文件搜索的用法:For /r 路径 %i in (关键字) do 要做的事其中 路径 可以改为你自己要搜索的路径 如 C: 关键字则是你要搜索的文件名 如 qq.exe 或 上海滩.mp3 等等。 do 后面接的是你要计算机循环做的事情 例如:搜索计算机上 C 盘所有文件并

2、显示出来,代码如下: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

3、命令搜索文件时,请加上 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 (*爱*.

4、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 代码形成了一个完整的文件

5、搜索脚本程序,利用以下代码可迅速的自定义搜索计算机上的文件,搜索过程中具有较好的直观性,搜索的结果保存成一份以 searchresult.html 为文件名的 html 文档并放入和此脚本程序相同的目录中,搜索结果一目了然,利用 html 代码还可以对搜索到的文件执行“打开文件夹”的操作,增加了方便性。由于本人所学有限,并不能保证程序毫无瑕疵,欢迎指正。代码如下:Echo offmode con cols=35 lines=5 & color 5Bsetlocal enabledelayedexpansionif %cd:-1%= (set pth=%cd%) else (set pth=%c

6、d%)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 选择范

7、围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: =-%

8、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 5B

9、CLSTitle 自定义范围 -文件搜索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 欢迎您同我一起学习,进步!

10、我的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 搜索范围:%D

11、SK%盘&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

12、!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

13、/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 状 态:正在搜索

14、 .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&echo 【!num!】 %dpi%nxi打开文件夹%pth%searchresult.html)clstitle 文件搜索完毕!echo 搜索完毕 共搜索到!num!个文件。echo 按任意键查看搜索结果!pausenulstart %pth%searchresult.html

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号