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

[文本处理] 批处理怎么在全盘搜索某个文件并切换到/进入该文件所在目录?

[复制链接]
发表于 2009-7-7 23:55:00 | 显示全部楼层 |阅读模式
本帖最后由 pcl_test 于 2016-10-22 15:22 编辑

我想做一个批处理文件,要求如下:
      
        1、现在全盘中搜索“1.exe”这个文件;
         
        2、然后生成该文件的所在路径,命名为“%ts%”
         
        3、然后进入该路径。(请注意,这个路径中是有空格的,例如"/Black loster/")
      
        这就是我的要求,希望大家能够帮助我!谢谢了!
发表于 2009-7-8 00:25:05 | 显示全部楼层
请在论坛搜索“搜索”(或者搜索“全盘搜索”)
实际需要考虑很多问题,例如搜索结果有多个怎么办
应该学好基本功,代码也就2行,不难
 楼主| 发表于 2009-7-8 10:21:17 | 显示全部楼层
我没找到相匹配的符合我要求的帖子,麻烦您帮我写一下代码!(不可能有相同文件名的文件。)
发表于 2009-7-8 12:01:56 | 显示全部楼层
  1. @echo off
  2. for %%? 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 (
  3.   for /f "delims=" %%a in ('dir /a-d /b /s "%%?:\1.exe" 2^>nul') do (
  4.     set "ts=%%~dpa" & goto next
  5.   )
  6. )
  7. pause>nul | set/p=文件不存在。请按任意键退出. . . & exit /b

  8. :next
  9. cd /d "%ts%"
  10. echo 已进入 %cd%
  11. pause
复制代码

[ 本帖最后由 tireless 于 2009-7-8 12:19 编辑 ]
发表于 2009-7-8 12:26:59 | 显示全部楼层
  1. @echo off&setlocal enabledelayedexpansion
  2. echo 开始搜索,这可能需要花费一些时间,请等待……&echo\
  3. for /f "tokens=2 delims==" %%i in ('wmic logicaldisk where "drivetype=3" get deviceid /value') do (
  4.     set str=%%i
  5.     set drive=!str:~0,2!\
  6.     echo 正在搜索!str:~0,1!盘……&echo\
  7.     call :lp !drive!
  8. )
  9. pause
  10. :lp
  11. for /r %1 %%a in (1.exe) do if exist %%a echo %%a&explorer.exe %%~dpa&echo\
复制代码

[ 本帖最后由 keen 于 2009-7-8 12:28 编辑 ]
 楼主| 发表于 2009-7-8 16:09:47 | 显示全部楼层
感谢楼上几位的帮助,但是,我想做到进入路径指的是:用cd /d 的命令进入。
发表于 2009-7-8 16:17:11 | 显示全部楼层

回复 6楼 的帖子

4 楼的代码不行吗?

[ 本帖最后由 tireless 于 2009-7-8 16:29 编辑 ]
 楼主| 发表于 2009-7-10 11:29:38 | 显示全部楼层
问题解决了!多谢各位!
发表于 2009-7-10 12:43:05 | 显示全部楼层

回复 8楼 的帖子

主动给已解决的求助帖标题加注【已解决】字样的,将会得到管理层的加分鼓励!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-20 19:29 , Processed in 0.032521 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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