Board logo

标题: (求助)关于批处理搜索文件的请教,谢谢! [打印本页]

作者: liuwushu     时间: 2006-12-21 16:16    标题: (求助)关于批处理搜索文件的请教,谢谢!

如何用批处理写在搜索指定文件后,打开文件所在的文件夹。

........输入要搜索的文件名:
.......正在搜索中请稍等......
打开文件所在的文件夹
作者: echo     时间: 2006-12-21 23:49
试试这个吧:
注意文件比较多的话估计会让你机器够呛的!!

for /r %%i in (*.bat) do start %cd:~0,2%%%~pi
作者: liuwushu     时间: 2006-12-22 05:46
有没有有更好点的方法!
作者: wydos     时间: 2006-12-22 06:17
可以先用tree做各分区的目录数,保存到莫个指定文本,然后在文本中搜索文件
作者: tianzizhi     时间: 2006-12-22 06:18
@echo off
set /p a=请输入要搜索文件(要加扩展名):
echo 正在搜索中,请稍等.........
for %%i in (c d e f g h) do @(
for /f %%j in ('dir %%i:\%a% /s/a/b') do  start  %%~pj
)
作者: ccwan     时间: 2006-12-22 06:26
请问你要查找的文件到处都有还是只有一个?
若是具有唯一性,下面的代码应该可以(抄自lxmxn):
@echo off
set/p input=请输入要查询的文件名
    for %%i in (c d e f) do (
        for /f "delims=" %%a in ('dir /s/b/a-d %%i:\%input% 2^>nul') do (
              start %%~dpsa&&goto :eof
        )
    )

作者: liuwushu     时间: 2006-12-22 06:50
谢谢tianzizhi,还有个问题,用你的方法,
不能实现全盘搜索,只能把bat放到那个盘符就搜索那个盘的文件。
不会打开C:\Program Files文件夹,只会打开C盘。
作者: ccwan     时间: 2006-12-22 06:54
~~~>_<~~~
试试我的......
作者: liuwushu     时间: 2006-12-22 06:54
ccwan的方法也不行,你不相信把BAT放到桌面,看看能不能找到D盘文件!
作者: ccwan     时间: 2006-12-22 06:56
我试过好多次了,可以啊!
你找什么文件打不开d:?
作者: ccwan     时间: 2006-12-22 07:11
其实这个批处理还可以改动一下,比如你要找1.txt,但是机子里有3~5个,那就把代码中  &&goto :eof  去掉,有几个1.txt打开几个文件夹,若你不嫌烦人的话.^_^
作者: tao0610     时间: 2006-12-22 07:26
对ccwan的修改一下,支持有空格的文件名.
@echo off
set/p input=请输入要查询的文件名:
    for %%i in (c d e f) do (
        for /f "usebackq delims=" %%a in (`dir/s/b/a-d "%%i:\%input%" 2^>nul`) do (
              start %%~dpsa
        )
    )

作者: liuwushu     时间: 2006-12-22 08:38
谢谢tao0610,这个是我要的,又学习了。
作者: vkill     时间: 2006-12-22 09:00
怎么start 都不加空格那?