Board logo

标题: [文件操作] [已解决]全盘查找文件的批处理只能显示第一个,可以全部都显示出来吗? [打印本页]

作者: 小渣飞    时间: 2019-7-24 17:48     标题: [已解决]全盘查找文件的批处理只能显示第一个,可以全部都显示出来吗?

本帖最后由 小渣飞 于 2019-7-25 17:41 编辑
  1. @echo off&title 全盘查找。&color 0f
  2. set /p var1=要查找的文件?[需添加文件扩展名,如需查找同类文件可使用*.*]:
  3. If "%var1%"=="" echo 不能为空。&pause>nul&exit
  4. title 正在查找%var1%中... ...
  5. echo.
  6. color 07&echo 正在全盘查找文件[%var1%]
  7. echo.
  8. for %%a in (A B 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 (
  9. if exist %%a:\ (
  10. cd /d %%a:\
  11. for /f "delims=" %%b in ('dir /s /a-d /b %var1%') do (
  12. if exist "%%b" (
  13. echo 文件已找到。[%%b]>%temp%\found.txt))))
  14. color 0f
  15. type %temp%\found.txt
  16. echo.
  17. echo 查找完毕,已生成文本报告。[%temp%\found.txt]&pause>nul
复制代码

作者: flashercs    时间: 2019-7-24 22:12

  1. @echo off&title 全盘查找。&color 0f
  2. set /p var1=要查找的文件?[需添加文件扩展名,如需查找同类文件可使用*.*]:
  3. If "%var1%"=="" echo 不能为空。&pause>nul&exit
  4. title 正在查找%var1%中... ...
  5. echo.
  6. color 07&echo 正在全盘查找文件[%var1%]
  7. echo.
  8. (
  9. for %%a in (A B 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 (
  10. if exist %%a:\ (
  11. cd /d %%a:\
  12. for /f "delims=" %%b in ('dir /s /a-d /b %var1%') do (
  13. if exist "%%b" (
  14. echo 文件已找到。[%%b]))))
  15. )>%temp%\found.txt
  16. color 0f
  17. type %temp%\found.txt
  18. echo.
  19. echo 查找完毕,已生成文本报告。[%temp%\found.txt]&pause>nul
复制代码

作者: Batcher    时间: 2019-7-24 23:54

回复 1# 小渣飞


    把第14行的>改成>>
作者: 小渣飞    时间: 2019-7-25 09:49

额,,,粗心了没发现=-=
作者: 小渣飞    时间: 2019-7-25 11:06     标题: [已解决]全盘查找文件的批处理只能显示第一个,可以全部都显示出来吗?

本帖最后由 小渣飞 于 2019-7-25 17:40 编辑

挺方便的哈哈

@echo off&title 全盘查找。&color 0f
:return
rem 避免文件意外重复
set num=%random%
if exist %temp%\found_%num%.txt (goto return)
echo.>%temp%\found_%num%.txt
set "var="
set /p var=要查找的文件?[需添加文件扩展名,如查找同类文件可使用通配符*.*]:
If "%var%"=="" (cls&echo 不能为空。&pause>nul&exit)
title 正在查找%var%中... ...
echo :::::::::::::::::::: %date% / %time% Start ::::::::::::::::::::>>%temp%\found_%num%.txt
echo.>>%temp%\found_%num%.txt
echo.
color 07&echo 正在全盘查找文件[%var%]
echo.
for %%a in (A B 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 (
if exist %%a:\ (
cd /d %%a:\
for /f "delims=" %%b in ('dir /s /a-d /b %var%') do (
if exist "%%b" (
echo 文件已找到。["%%b"]>>%temp%\found_%num%.txt))))
echo.>>%temp%\found_%num%.txt
echo ::::::::::::::::::: %date% / %time% Finished :::::::::::::::::::>>%temp%\found_%num%.txt
color 0f&type %temp%\found_%num%.txt
echo.
title 查找完毕,已生成文本报告。[%temp%\found_%num%.txt]
echo 查找完毕,已生成文本报告。[%temp%\found_%num%.txt]&pause>nul
作者: impk    时间: 2019-7-26 15:29

echo  %date% / %time% Start
echo  %date% / %time% Finished

又学了一招,测脚本执行时间




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2