中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [分享]批处理实现文件全盘搜索
« [1] [2] »
作者:
标题: [分享]批处理实现文件全盘搜索 上一主题 | 下一主题
icyheart
中级用户




积分 216
发帖 81
注册 2007-8-6
状态 离线
『楼 主』:  [分享]批处理实现文件全盘搜索

这个批处理虽然简单,但是能实现很多功能,不管你有多少个盘一律通吃,在找到文件后会把文件所在的具体位置给你显示出来,让你能一目了然...

@echo off
echo icyheart制作
title 文件搜索
color 2a
echo.
:loop
set /p filename=请输入要查找的文件名:
echo.
echo 文件搜索中,请耐心等待...
set alldrive=c d e f g h i j k l m n o p q r s t u v w x y z
for %%i in (%alldrive%) do if exist %%i:\ dir /s /b %%i:| find "%filename%">>results.txt
type results.txt
del results.txt
echo 搜索完毕
echo.
echo.
echo 继续查询请输入y,退出请输入n
echo.
echo.======================================
set /p choice=请输入您的选择:
if %choice%==y goto loop
if %choice%==n goto end
pause>nul
:end
exit

2007-8-22 00:21
查看资料  发短消息 网志   编辑帖子  回复  引用回复
blue812
初级用户





积分 57
发帖 29
注册 2006-9-27
状态 离线
『第 2 楼』:  

不错,学习了。谢谢~

2007-8-22 14:31
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
guxingyibei
初级用户





积分 68
发帖 32
注册 2007-4-1
状态 离线
『第 3 楼』:  

呵呵,不过有简单的啊!
@echo off
set /p file=请输入要查询的文件:
for /f "delims=. tokens=1,2" %%c in ("%file%") do wmic datafile where "extension='%%d' and filename='%%c'" get name

2007-8-22 21:40
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
icyheart
中级用户




积分 216
发帖 81
注册 2007-8-6
状态 离线
『第 4 楼』:  

嗯 是挺好的,学习

2007-8-22 23:36
查看资料  发短消息 网志   编辑帖子  回复  引用回复
icyheart
中级用户




积分 216
发帖 81
注册 2007-8-6
状态 离线
『第 5 楼』:  

你是怎么想出来的这个啊,能把你写的那代码的后半部分解试一下吗
for /f "delims=. tokens=1,2" %%c in ("%file%") do wmic datafile where "extension='%%d' and filename='%%c'" get name
就是这句

[ Last edited by icyheart on 2007-8-22 at 11:39 PM ]

2007-8-22 23:37
查看资料  发短消息 网志   编辑帖子  回复  引用回复
zy125moto
初级用户





积分 22
发帖 11
注册 2007-8-22
状态 离线
『第 6 楼』:  

不懂学习中

2007-8-23 00:35
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
guxingyibei
初级用户





积分 68
发帖 32
注册 2007-4-1
状态 离线
『第 7 楼』:  

wmic datafile where "extension='txt' and filename='1'" get name
extension是扩展名,filename是文件名,get name应该是取它的特定信息,不加也可以,不过得到的是一大堆东西,不好看!
这个基本上就象是一个公式一样,我也才学wmic!

2007-8-23 09:20
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
icyheart
中级用户




积分 216
发帖 81
注册 2007-8-6
状态 离线
『第 8 楼』:  

嗯 谢谢啦

2007-8-23 09:48
查看资料  发短消息 网志   编辑帖子  回复  引用回复
hjkk123
初级用户





积分 160
发帖 82
注册 2007-5-14
状态 离线
『第 9 楼』:  



  Quote:
Originally posted by guxingyibei at 2007-8-22 09:40 PM:
呵呵,不过有简单的啊!
@echo off
set /p file=请输入要查询的文件:
for /f "delims=. tokens=1,2" %%c in ("%file%") do wmic datafile where "extension='%% ...

我怎么查的有点慢啊,怎么改成能指定哪个驱动器,或者哪个文件夹下吗

2007-8-23 14:13
查看资料  发短消息 网志   编辑帖子  回复  引用回复
hjkk123
初级用户





积分 160
发帖 82
注册 2007-5-14
状态 离线
『第 10 楼』:  



  Quote:
Originally posted by icyheart at 2007-8-22 12:21 AM:
这个批处理虽然简单,但是能实现很多功能,不管你有多少个盘一律通吃,在找到文件后会把文件所在的具体位置给你显示出来,让你能一目了然...
...

好像有错误

2007-8-23 14:32
查看资料  发短消息 网志   编辑帖子  回复  引用回复
guxingyibei
初级用户





积分 68
发帖 32
注册 2007-4-1
状态 离线
『第 11 楼』:  

这个是全盘搜索的,所以是有点慢了!
要想指定文件夹或者盘进行搜索,还是用楼主的方法合适!

2007-8-23 20:31
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxhpt
新手上路





积分 9
发帖 4
注册 2008-2-18
状态 离线
『第 12 楼』:  查文件.

我的目的是在光盘中写一个批处理文件,当检测到系统中有该文件时,不做动作,如没有检测到该文件,执行安装程序.代码执行后结果不对.请帮忙看看.
@echo off
set alldrive=c d e f
for %%i in (%alldrive%) do if exist %%i:\ find "1.exe" goto another
goto :no

:another

goto end


:no
star starup.exe
goto end

:end

2008-2-19 17:50
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 13 楼』:  



  Quote:
for %%i in (%alldrive%) do if exist %%i:\ find "1.exe" goto another

这一句有问题,看看if命令和find命令的用法再试试。

2008-2-19 23:38
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
moniuming
银牌会员

永远的菜鸟



积分 1335
发帖 574
注册 2007-11-27
来自 广西
状态 离线
『第 14 楼』:  

@echo off
for %%i in (c d e f) do (
for /f "delims=" %%j in ('dir /s /b /a-d "%%i:\1.txt"') do (
start starup.exe
)
)
pause

2008-2-20 01:09
查看资料  发短消息 网志   编辑帖子  回复  引用回复
minspring
新手上路





积分 8
发帖 4
注册 2008-2-15
状态 离线
『第 15 楼』:  

能否解释一下这一句
for %%i in (%alldrive%) do if exist %%i:\ dir /s /b %%i:| find "%filename%">>results.txt

2008-2-20 13:09
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: