批处理怎样全盘获取指定文件第一个路径?

本文介绍了一种使用批处理脚本快速定位计算机中特定文件的方法,并提供了修改后的脚本实现仅返回首个找到的文件路径的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. @echo off
  2. rem 指定待搜索的文件
  3. set "FileName=BatHome_Batcher.txt"
  4. echo 正在搜索,请稍候...
  5. for %%a in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
  6. if exist %%a:\nul (
  7. pushd %%a:\
  8. for /r %%b in ("*%FileName%") do (
  9. if /i "%%~nxb" equ "%FileName%" (
  10. echo.%%b
  11. )
  12. )
  13. popd
  14. )
  15. )
  16. pause
复制代码

这段代码是论坛上的,它是全盘找出文件路径,有没有什么办法让它只得到第一个路径后退出,不在继续查找,比如在我的c盘和d盘各有一个qq.exe,只用这段代码找出c盘的qq.exe的路径,然后显示出来,退出,就不在查找D E F G H I 了。



  1. @echo off
  2. rem 指定待搜索的文件
  3. set "FileName=qq.exe"
  4. echo 正在搜索,请稍候...
  5. for %%a in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
  6. if exist %%a:\nul (
  7. pushd %%a:\
  8. for /r %%b in ("*%FileName%") do (
  9. if /i "%%~nxb" equ "%FileName%" (
  10. echo.%%b
  11. goto end
  12. )
  13. )
  14. popd
  15. )
  16. )
  17. :end
  18. pause


  1. @echo off
  2. for /r c: %%b in (qq.exe) do (
  3. if exist "%%~fb" (echo "%%~fb")&pause&exit /b
  4. )


根据 temp 的意图, 请使用下面的代码, 并保证 Illegal.txt 和 这个bat在同一个目录
  1. @echo off & setlocal enabledelayedexpansion
  2. for /f "delims=" %%h in (Illegal.txt) do (
  3. for %%a in (C D E F) do (
  4. cd /d %%a:\
  5. for /r %%b in (%%h) do (
  6. if exist "%%~fb" (echo "%%~fb")
  7. )
  8. )
  9. )
  10. pause
复制代码
我的运行结果如下:
"C:\WINDOWS\system32\dllcache\iexplore.exe"
"C:\Program Files\internet explorer\IEXPLORE.EXE"
"E:\TEMP\PFiles\Internet Explorer\IEXPLORE.EXE"
"F:\SOFT_INS\PFiles\Internet Explorer\IEXPLORE.EXE"
"C:\WINDOWS\regedit.exe"
"C:\WINDOWS\system32\dllcache\regedit.exe"
"F:\GRTMPVOL_CN (I)\I386\REGEDIT.EXE"
"F:\WINXPSH\I386\REGEDIT.EXE"
"F:\XPSP3INS\I386\REGEDIT.EXE"
请按任意键继续. . .
可以再改一下,即使隐藏的文件也会显示出来
  1. @echo off
  2. for /f "delims=" %%h in (Illegal.txt) do (
  3. for %%a in (C D E F) do (
  4. dir "%%a:\%%h" /ah /s /b 2>nul
  5. dir "%%a:\%%h" /s /b 2>nul
  6. )
  7. )
  8. pause
复制代码


(cd /d c:\)& dir IEXPLORE.EXE /ah /s /b


dir C:\iexplore.exe /ah /s /b





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值