中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-04 11:08
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 关于文件搜索的问题 查看 784 回复 2
楼 主 关于文件搜索的问题 发表于 2007-05-01 22:34 ·  中国 广西 钦州 电信
初级用户
积分 45
发帖 13
注册 2007-04-15 06:20
19年会员
UID 85229
性别 男
状态 离线
文件搜索如下代码:
@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
-----------------------------------------------------------------
我想加入一个文件定位功能,即在
for %%i in (c:,d:,e:,f: ) do dir /s /b %%i\%filename% >>filepath.txt
添加
Explorer /select, |type filepath.txt
为什麽无法正确执行?
2 发表于 2007-05-01 22:44 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
for %%a in (c d e f) do for /f "delims=" %%b in ('dir /s/b/a %%a:\%filename%') do if exist "%%b" explorer.exe /select,"%%b"
3 发表于 2007-05-02 16:32 ·  中国 广西 钦州 电信
初级用户
积分 45
发帖 13
注册 2007-04-15 06:20
19年会员
UID 85229
性别 男
状态 离线
谢!
但我还想加入一个判断,找不到文件就跳到error标签.如果用errorlevel判断,
或用
for %%i in (c:,d:,e:,f: ) do dir /s /b %%i\%filename% >>filepath.txt ||goto error 在循环中任一错误都跳到error标签.
怎麽解决?
论坛跳转: