|
fjcase
初级用户
积分 53
发帖 23
注册 2007-2-2
状态 离线
|
『楼 主』:
用批处理实现文件搜索
@echo off
title 文件搜索
color 2b
echo.
echo.
:loop
set /p filename=请输入你要找的文件名:
echo 正在搜索中,请耐心等待。。。。。
for %%i in (c:,d:,e:,f:) do dir /s /b %%i\%filename% >>filepath.txt
2>nul
echo 搜索完毕,请打开1.txt查看
echo.
echo.
echo 如需要继续查询请输入y,退出请输入n
echo.
echo.-----------------------------------
set /p mychoice=请输入您的选择:
if %mychoice%==y goto loop
if %mychoice%==n goto end
pause>nul
:end
exit
|
|
2007-3-7 13:05 |
|
|
zhoushijay
高级用户
Autowalk
积分 845
发帖 375
注册 2007-3-3
状态 离线
|
『第
2 楼』:
我也写了一 个
echo off
:agn
cls
set /p a=请输入完整的文件名:
echo 搜索中,请稍侯...
for %%i in (c,d,e,f) do dir /s /b %%i:\"%a%" 2>nul
:error
echo 继续搜索请按a; 保存信息请按s; 退出请按o
set /p s=请选择:
if %s%==a (goto :agn)
if %s%==s (goto :save)
if %s%==o (goto :out)
if not %s%==a==s==o (goto :error)
:save
for %%i in (c,d,e,f) do dir /s /b %%i:\%a% 2>nul >>c:\path.txt
echo 已保存到"c:\path.txt"内
goto :error
:out
cls
echo ---------------------------------------------------------
echo 感谢您使用本程序,不足之处还请见量!
echo -------------------------------------------SJAY制作------
echo 本程序将在5秒内退出...
ping -n 5 127.1 >nul
|
|
2007-3-7 13:47 |
|
|
ccwan
金牌会员
积分 2725
发帖 1160
注册 2006-9-23 来自 河北廊坊
状态 离线
|
『第
3 楼』:
What and what?
[ Last edited by ccwan on 2007-3-8 at 08:51 PM ]
|
三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。 |
|
2007-3-7 21:52 |
|
|
fjcase
初级用户
积分 53
发帖 23
注册 2007-2-2
状态 离线
|
|
2007-3-8 07:59 |
|
|
zhoushijay
高级用户
Autowalk
积分 845
发帖 375
注册 2007-3-3
状态 离线
|
『第
5 楼』:
把后面的 2>nul 去掉就可以,不过因为在c,d,e,f 4个盘中搜索,所以会有
找不到文件
找不到文件
找不到文件
找不到文件
4个提示
修改后的方案:(目前只有这样了)
for %%i in (c,d,e,f) do dir /s /b %%i:\"%a%" 2>nul || echo %%i盘找不到文件!
没有测试过
|
|
2007-3-8 08:12 |
|
|
fjcase
初级用户
积分 53
发帖 23
注册 2007-2-2
状态 离线
|
『第
6 楼』:
能不能搜索完所有的盘,如果找不到文件再显示出来呢?楼上的代码测试过了也不行
|
|
2007-3-8 10:02 |
|
|
nzisisco
初级用户
积分 107
发帖 47
注册 2007-3-3
状态 离线
|
『第
7 楼』:
照楼主的我改了一个
@echo off
title 文件搜索
color 2b
echo.
echo.
:loop
set /p filename=请输入你要找的文件名:
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 dir /s /b %%i:\%filename% >>filepath.txt
echo 搜索完毕,请打开filepath.txt查看
echo.
echo.
echo 如需要继续查询请输入y,退出请输入n
echo.
echo.-----------------------------------
set /p mychoice=请输入您的选择:
if %mychoice%==y goto loop
if %mychoice%==n goto end
pause>nul
:end
exit
这样可以搜索从c到z盘
|
|
2007-3-8 15:53 |
|
|
zhoushijay
高级用户
Autowalk
积分 845
发帖 375
注册 2007-3-3
状态 离线
|
『第
8 楼』:
楼上的代码似乎也不行,当Z盘运行完后filepath.txt内容会替换前面几个盘的结果
所以最后filepath.txt的内容只是搜索完Z盘后的结果
|
|
2007-3-11 02:24 |
|
|
fjcase
初级用户
积分 53
发帖 23
注册 2007-2-2
状态 离线
|
『第
9 楼』:
想要的是搜索完之后如果没有找到文件 要显示出来
|
|
2007-3-11 06:06 |
|