批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程
[批处理文件精品]批处理版照片整理器[批处理文件精品]纯批处理备份&还原驱动在线第三方下载
返回列表 发帖

[文件操作] 批处理全盘搜索指定文件获取其完整路径

引用自管理大神Batcher
  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:\ (
  7.         pushd %%a:\
  8.         for /r %%b in (*%FileName%) do (
  9.             if /i "%%~nxb" equ "%FileName%" (
  10.                 echo,%%b
  11. ))))
  12. pause
复制代码
例如在C盘中找到了BatHome_Batcher.txt 无论其它盘有没有 都不继续寻找 搜到就停止 并把找到的路径传递给变量 待用 应该怎样写 想提高效率

  1. @echo off
  2. for /f "tokens=2 delims==" %%a in ('wmic datafile where "FileName='BatHome_Batcher' and extension='txt'" get Caption /value') do set "filepath=%%a"
  3. echo;%filepath%
复制代码
1

评分人数

    • smss: 这个也可以用 不过直接从G盘搜了技术 + 1
QQ 33892006

TOP

第10行下面 goto 一下
1

评分人数

【扫描二维码捐助论坛的朋友请留言注明论坛账号】http://bbs.bathome.net/thread-10403-1-1.html
【批处理在线视频分享】http://bbs.bathome.net/thread-31727-1-1.html
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html

TOP

需要
cli.c
es.exe
Everything.exe
Everything.lng
  1. es.exe BatHome_Batcher.txt
复制代码

TOP

本帖最后由 smss 于 2019-4-9 21:40 编辑
第10行下面 goto 一下
Batcher 发表于 2019-4-9 17:00
  1. @echo off
  2. if not exist *.kux (echo 逗我呢,木有kux文件!!!&ping 0 -n "2">nul&exit) else echo 搜索ffmpeg.exe
  3. set "FileName=ffmpeg.exe"&echo 正在搜索,请稍候...
  4. for %%a in (D C E F G H I J K L M N O P Q R S T U V W X Y Z) do (if exist %%a:\ (pushd %%a:\
  5. for /r %%b in (*%FileName%) do (if /i "%%~nxb" equ "%FileName%" (echo,%%b
  6. set ffmpeg=%%b
  7. goto 优酷视频kux格式转换MP4
  8. ))))
  9. :优酷视频kux格式转换MP4
  10. if exist %ffmpeg% (for /r . %%i in (*.kux) do (%ffmpeg% -y -i "%%i" -c:a copy -c:v copy -threads 2 "%%~dpni.mp4"&&del /s /q *.kux)) else echo 请检查优酷客户端ffmpeg路径!&ping 0 -n "2">nul&exit
复制代码
可把1080P会员视频转换成MP4

TOP

回复 2# yhcfsr


    如果存在电脑中存在多个同名文件,可以采用伪数组的方法
  1. @echo off
  2. for /f "tokens=2 delims==" %%a in ('wmic datafile where "FileName='BatHome_Batcher' and extension='txt'" get Caption /value') do (
  3. set/a n+=1
  4. call,set "files[%%n%%]=%%a"
  5. )
  6. for /f "tokens=2 delims==" %%a in ('set files[') do echo;%%a
  7. pause
复制代码
QQ 33892006

TOP

返回列表