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

[文件操作] [已解决]如何搜索并运行当前目录或子目录中的批处理文件?

[复制链接]
发表于 2011-11-16 11:06:31 | 显示全部楼层 |阅读模式
在当前目录或者子目录中有个"123.bat"文件,(文件位置不固定,但是只可能在当前目录或子目录中)。

我想实现的是:搜索到"123.bat"文件并直接运行,若找不到则有提示文字。恳请知道的朋友相助!谢谢!

————————————————————————————
原标题违规,本应警告封贴,但问题既已解决而未警告,属我失职,故代为修改。    by Crlf

评分

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

查看全部评分

发表于 2011-11-16 11:54:40 | 显示全部楼层
本帖最后由 yyykkkyyyy 于 2011-11-16 12:03 编辑
  1. @echo off
  2. for /f "delims=" %%i in ('dir/b/s/a-d "123.bat"')do set "pa=%%~dpi"
  3. if defined pa cd "%pa%"&"123.bat"
  4. pause
复制代码
 楼主| 发表于 2011-11-16 12:03:49 | 显示全部楼层
回复 2# yyykkkyyyy


非常感谢你,可以用,谢谢!

如果找不到此文件,如何显示提示文字呢?(比如没找到123.bat)
发表于 2011-11-16 12:27:47 | 显示全部楼层
2楼的代码不是可以提示文件没有找到吗
你是不是一定要提示没有找到123.bat啊
 楼主| 发表于 2011-11-16 12:47:10 | 显示全部楼层
回复 4# xslxslxsl


没有提示,如果放在一个空目录里运行,只会一闪而过!
发表于 2011-11-16 12:49:15 | 显示全部楼层
本帖最后由 yyykkkyyyy 于 2011-11-16 13:03 编辑

就是嘛,已经有提示了,也可以满足你
  1. @echo off
  2. set fn=123.bat
  3. for /f "delims=" %%i in ('dir/b/s/a-d "%fn%" 2^>nul')do set "pa=%%~dpi"
  4. if defined pa cd "%pa%"&cmd/b/c "%fn%"&exit
  5. echo 没找到 %fn% ,下一步啥办?
  6. pause
复制代码
补充: 要是一闪而过,估计是找到了一个同名bat文件,但那个bat运行的结果是一闪而过
我是没考虑当前目录下会有几个要找的文件的,如果有会执行后找到的那个

评分

参与人数 1技术 +1 收起 理由
CrLf + 1 乐于助人

查看全部评分

发表于 2011-11-16 13:07:39 | 显示全部楼层
伸手党。这标题闪瞎了我的钛合金狗眼、
不应该回答啊不应该回答...

评分

参与人数 1PB +5 收起 理由
CrLf + 5 感谢主动维护论坛管理!

查看全部评分

 楼主| 发表于 2011-11-16 13:07:53 | 显示全部楼层
本帖最后由 hzusb 于 2011-11-16 13:10 编辑

厉害,你是高手,问题解决了,再次感谢yyykkkyyyy 朋友热心帮助!!
发表于 2011-11-16 13:13:58 | 显示全部楼层
回复 6# yyykkkyyyy
额...怎么我喜欢用for /r...个人习惯么...............
发表于 2011-11-16 13:27:59 | 显示全部楼层
回复 9# canyuexiaolang
是啊,要是我自己用,喜欢类似 for /r %%i in (123.*bat)来找一个文件
 楼主| 发表于 2011-11-16 15:40:48 | 显示全部楼层
本帖最后由 hzusb 于 2011-11-16 15:44 编辑

不好意思,没看到版规,标题违规了,以后我注意!
发表于 2011-11-17 17:28:36 | 显示全部楼层
  1. @echo off
  2. Set fn=123.bat
  3. For /f %%i in ('dir /s /b /a-d %fn%') do start "" "%%i" && Exit
  4. echo Not found %fn%
  5. pause
复制代码

评分

参与人数 1技术 +1 收起 理由
CrLf + 1 乐于助人

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-18 06:50 , Processed in 0.034870 second(s), 14 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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