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

[文件操作] 【已解决】批处理查找指定文件如何改变查找顺序?

本帖最后由 qubin1979 于 2013-6-6 09:17 编辑

下面的代码是查找某盘符下的指定文件,查找顺序是从子子文件夹向跟目录查找的,麻烦帮我改改从根目录向子文件夹的顺序
  1. @echo off
  2. for %%a in (d e f) do (
  3.   if exist %%a:\ (
  4.   for /f "delims=" %%i in ('dir "%%a:\hotel.exe"  /s /b 2^>nul') do set _path=%%~dpi&goto
  5. :next
  6. ))
  7. :next
  8. echo 目录:%_path%
  9. pause
复制代码
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

多谢5楼、6楼   楼主,  都能达到我要的结果,  6楼的更简洁些

TOP

回复 3# qubin1979
这个意思?
  1. @echo off
  2. pushd .
  3. for %%a in (d e f) do (
  4.   if exist %%a:\nul (
  5.     cd /d "%%a:\"
  6.     for /f "delims=" %%i in ('dir "%%a:\hotel.exe"  /s/b 2^>nul') do set _path=%%~dpi&goto :next
  7. ))
  8. :next
  9. popd&echo 目录:%_path%
  10. pause
复制代码
1

评分人数

初学BAT,非专业。代码不适当之处还望前辈们多多指点。在此表示感谢!

TOP

把以下代码的执行过程贴出来看看
  1. for %%a in (d e f) do (
  2.     if exist %%a:\ (
  3.         for /f "delims=" %%i in ('dir "%%a:\hotel.exe" /s /b 2^>nul') do (
  4.             echo ===%%~dpi
  5.             set _path=%%~dpi
  6.             goto :next
  7.         )
  8.     )
  9. )
  10. :next
  11. echo %_path%
  12. pause
复制代码
1

评分人数

TOP

你试一试sort命令....不知道能不能实现,,,应该能
活着就是为了改变世界

TOP

回复 2# xxpinqz


  我在文件夹和子文件夹试过了,显示的路径从内到外的

TOP

不知道楼主是如何确定dir命令是从子目录往根目录查找,而非根目录往子目录查找呢
初学BAT,非专业。代码不适当之处还望前辈们多多指点。在此表示感谢!

TOP

返回列表