找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 25303|回复: 6

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

[复制链接]
发表于 2013-6-5 10:09:12 | 显示全部楼层 |阅读模式
本帖最后由 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
复制代码

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2013-6-5 10:53:54 | 显示全部楼层
不知道楼主是如何确定dir命令是从子目录往根目录查找,而非根目录往子目录查找呢
 楼主| 发表于 2013-6-5 14:55:57 | 显示全部楼层
回复 2# xxpinqz


  我在文件夹和子文件夹试过了,显示的路径从内到外的
发表于 2013-6-5 16:49:56 | 显示全部楼层
你试一试sort命令....不知道能不能实现,,,应该能
发表于 2013-6-5 17:47:49 | 显示全部楼层
把以下代码的执行过程贴出来看看
  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技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

发表于 2013-6-5 18:08:28 | 显示全部楼层
回复 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技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

 楼主| 发表于 2013-6-6 09:15:21 | 显示全部楼层
多谢5楼、6楼   楼主,  都能达到我要的结果,  6楼的更简洁些
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 09:25 , Processed in 0.021920 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表