[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 批处理如何快速查找所有的同名文件并显示路径?

dir /s /b /a y:\date.txt >> 1.txt

想要在y盘中查找所有的“date.txt"并显示路径。。。
上面那个太馒了。。。。
有没有其它快一点的???
而且我的Y盘下有 100多个游戏。。。。
大多数date.txt文件 都在游戏的根目录下。有小部分在 多层 目录下
for /f %%a in ('dir /-c /n /b y:\wangluo') do (for /r (y:\wangluo\%%a) %%i in (date.txt) do echo %%a=%%i >>2.txt)    用这个获取不能完全获取,只能获取游戏名字的跟目录下的。。在多层目录下的就获取不到了


谢谢。。。

看代码
@echo off
title 全盘查找文件 by f m r 5 2 0 08/03/10
color e
mode con cols=82 lines=20
:: 全盘查找,找到之后就执行并退出CMD窗口
:: code by jm 2006-9-14 CMD@XP
:: fsutil fsinfo drives 得出来的结果虽然中间有空格,但是他代表是回车符或者换行符的作用,所以
:: 还要用find /v来过滤,否则,只得到第一个分区
:cd
if exist dir.txt del dir.txt
cls
echo                               ╭─────────╮
echo           ╭─────────┤   全盘查找文件   ├─────────╮
echo           │                  ╰─────────╯                  │
echo           │                                                          │
echo           │                请输入要找的文件名和后缀                  │
echo           │                                                          │
echo           │                能用通配符, *.txt *.exe                  │
echo           │                                                          │
echo           │               最好输入完整的文件名和后缀                 │
echo           │                                                          │
echo           │                 如;abc.txt  abc.exe  abc.lnk            │
echo           │                                                          │
echo           │                                                          │
echo           │                         fmr520 第二次修改于 2008/04/11   │
echo           ╰─────────────────────────────╯
set p=:
set /p p=请输入要找的文件:
set "p=%p:"=%"
:: 上面这句为判断%source%中是否存在引号,有则剔除。
if "%p%"==":" goto cd
setlocal enabledelayedexpansion
cls
call title 正查找文件... ...
echo\&echo  正查找文件... ...
ping 171.1 /n 3 >nul
for /f "delims=\" %%i in ('fsutil fsinfo drives^|find /v ""') do (
    set var=%%i
    set drive=!var:~-2!
    fsutil fsinfo drivetype !drive!|find "固定">nul && (
        for /f "tokens=*" %%j in ('dir /a-d /b /s !drive!\%p% 2^>nul') do  (set /a sum+=1
call title 正输出文件... ... %%j
cls
echo\&call  echo  正输出第 %%sum%% 个文件... ...
echo\&call  echo    %%~nxj
echo "%%j">>dir.txt&&ping 171.1 /n 1 >nul&&if not "%%j"=="" start "" "%%~dpj%%~nxj" &goto str)
    )   
)
goto str
:no_
mode con cols=55 lines=8
cls
echo         ╭───────────────────╮
echo         │╭─────────────────╮│
echo         ││  没找到你要找的文件,按回车结束 . ││
echo         │╰─────────────────╯│
echo         ╰───────────────────╯
pause>nul
:str
echo\&echo     找到了 %sum% 个文件 >>dir.txt
ping 171.1 /-n 1 >nul
if exist dir.txt start dir.txt&exit
goto no_
@set,=学无止境
@for /l %%b in (0,1,6) do @call set/p= %%,:~%%b,1%%<nul

TOP

返回列表