背景:当想要查找一个文件时,记得放在某个盘里。手动去遍历时感觉好心累,找了半天还是没有找着(虽然win有自带的搜索框,但是看着进度条的速度,我便果断的点了取消)。基于这个情况,所以写了脚本满足自身查找文件的需求。
先来了解一下win自带的遍历搜索命令,这两个命令都可以进行模糊匹配。例如:==sea*.bat==
dir /S search.bat ? 遍历当前目录查找search.bat 文件forfiles /S /M search.bat ? 遍历当前目录查找search.bat文件以上两个命令各有优势,都是指定盘符查找,视情况使用。
这里全盘遍历便是根据上述命令进行循环查找
@echo off& setlocal enabledelayedexpansion
rem +++++++++++++++++++++++++++++++++++++++++++
rem   search.bat
rem          By zhzw @2018/7/4
rem
rem            Version: 1.0
rem +++++++++++++++++++++++++++++++++++++++++++
set stime=%time:~0,2%%time:~3,2%%time:~6,2%
if "%stime:~0,1%"==" " set "stime=0%stime:~1%"
if "%1" equ "" (
    echo 命令语法不正确。使用/?查看帮助
    goto exit
)
if "%1" equ "/?" (
    echo 全盘搜索文件/文件夹或者遍历目录。
    echo.
    echo SEARCH ^[file^]^[folder^]^[path^] ^[/V^]
    echo.
    echo   ^[file^]^[folder^]^[path^]
    echo    指定要列出的文件、文件夹或目录列表。
    echo.
    echo   ^[/V^]
    echo    查找相关字符串
    goto exit
)
if /i "%1" equ "/v" (
    echo 模糊查找
    set pwd=%cd%
    echo  start searching .....
    echo.
    for %%i in (C:\ D:\ E:\ F:\ G:\ H:\ I:\ J:\ K:\) do (
        if exist %%i (
            echo ■■■■ Searching for the %%i disk
            rem if exist %%i\nul
            rem cd /d %%i\ & dir /S/b "%1" 2>nul
            cd /d %%i & dir /S/b |findstr "%2$" & echo.
        )
    )
    cd /d !pwd!
    echo. &echo. &echo.
) else (
    set pwd=%cd%
    echo  start searching .....
    echo.
    for %%i in (C:\ D:\ E:\ F:\ G:\ H:\ I:\ J:\ K:\) do (
        if exist %%i (
            echo ■■■■ Searching for the %%i disk
            rem if exist %%i\nul
            rem cd /d %%i\ & dir /S/b "%1" 2>nul
            cd /d %%i & dir /S/b "%1" & echo.
        )
    )
    cd /d !pwd!
    echo. &echo. &echo.
)
set etime=%time:~0,2%%time:~3,2%%time:~6,2%
if "%etime:~0,1%"==" " set "etime=0%etime:~1%"
echo 开始时间:%stime%
echo 结束时间:%etime%
:exit我的电脑 -->右键 --> 属性 --> 环境变量 --> 系统变量 --> Path --> 输入search.bat 文件所在路径
这样就能在命令行快速的使用命令查找文件或目录所在路径了
最后附上效果图:

原文:https://www.cnblogs.com/zeo-to-one/p/9302701.html