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

回复 12楼 的帖子

抱歉, 我对 WIN2003 不了解, 我用的 WINXP,
请问 dir c:IEXPLORE.EXE /s /b 可有显示结果
用你 12 楼的代码, 我的测试结果:
"C:\WINDOWS\system32\dllcache\iexplore.exe"
请按任意键继续. . .

建议你先打开一个 cmd 窗口, 再把 保存的 BAT 文件拖进 CMD 窗口中运行, 以便查看是否有任何出错信息,
最好把代码中的 @echo off 这行去掉

[ 本帖最后由 neorobin 于 2009-12-22 20:54 编辑 ]

TOP

回复 11楼 的帖子

谢谢! 我测试的代码如下,窗口一闪就没了,测试环境是WIN2003
  1. @echo off
  2. for /r c: %%b in (IEXPLORE.EXE) do (
  3.      if exist "%%~fb" (echo "%%~fb")&pause&exit /b
  4. )
复制代码

TOP

回复 8楼 的帖子

3 楼的代码, 我是实测过的,  请确认你电脑上 C: 盘确实有 qq.exe 文件(文件名没有任何其它的字符), 并且 它 没有隐藏属性,
而且你是将代码保存为 bat 文件后运行的
我电脑上的显示结果如下
"C:\Program Files\Tencent\QQ\Bin\QQ.exe"
请按任意键继续. . .

TOP

回复 8楼 的帖子

如果你电脑上 C: 盘确实有 qq.exe 文件, 并且 它 没有隐藏属性, 是会有显示的
下面的代码可检测我说的条件是否成立
  1. dir c:\qq.exe /s /b
复制代码
根据 17 楼 zqz0012005 指出的错误已作出更改

[ 本帖最后由 neorobin 于 2009-12-23 01:17 编辑 ]

TOP

原帖由 batman 于 2009-12-22 17:40 发表
pushd和popd堆栈组合是多余的,直接在for /r中指明路径就可以了啊
能不能帮忙直接写出简洁高效的代码呢

我没有基础,只能照猫画虎

谢谢!

TOP

原帖由 neorobin 于 2009-12-21 21:37 发表
@echo off
for /r c: %%b in (qq.exe) do (
     if exist "%%~fb" (echo "%%~fb")&pause&exit /b
)
谢谢你的代码,可惜看不懂,运行也没看到任何结果

请问是什么原因呢?

修改成如下也没结果%%~fb
  1. @echo off
  2. rem 指定待搜索的文件
  3. set "FileName=IEXPLORE.EXE"
  4. echo 正在搜索,请稍候...
  5. for %%a in (C D E F G) do (
  6.   if exist %%a:\nul (
  7.     pushd %%a:\
  8.     for /r %%b in ("*%FileName%") do (
  9.       if /i "%%~fb" equ "%FileName%" (
  10.         echo.%%b
  11.         goto end
  12.       )
  13.     )
  14.     popd
  15.   )
  16. )
  17. :end
  18. pause
复制代码

TOP

回复 5楼 的帖子

batman走向腐败,中午饭局上酒喝多了^_^
哈哈。。。
命令行参考:hh.exe ntcmds.chm::/ntcmds.htm
求助者请拿出诚心,别人才愿意奉献热心!
把查看手册形成条件反射!

TOP

回复 5楼 的帖子

想知道batman兄,怎么在for /r中指明动态的路径?
(*^_^*)

TOP

回复 2楼 的帖子

pushd和popd堆栈组合是多余的,直接在for /r中指明路径就可以了啊
***共同提高***

TOP

多谢两位,我开始对这段代码不理解,看了两位的贴子发现那段代码应该是实现了循环,对循环又有一深层的理解

TOP

  1. @echo off
  2. for /r c: %%b in (qq.exe) do (
  3.      if exist "%%~fb" (echo "%%~fb")&pause&exit /b
  4. )
复制代码

TOP

  1. @echo off
  2. rem 指定待搜索的文件
  3. set "FileName=qq.exe"
  4. echo 正在搜索,请稍候...
  5. for %%a 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 (
  6.   if exist %%a:\nul (
  7.     pushd %%a:\
  8.     for /r %%b in ("*%FileName%") do (
  9.       if /i "%%~nxb" equ "%FileName%" (
  10.         echo.%%b
  11. goto end
  12.       )
  13.     )
  14.     popd
  15.   )
  16. )
  17. :end
  18. pause
复制代码
(*^_^*)

TOP

返回列表