无忧启动论坛

标题: 菜鸟求一批处理 [打印本页]

作者: ydj1976    时间: 2009-6-3 22:28
标题: 菜鸟求一批处理
要求是搜索所有分区A文件夹下B.exe文件,找到后并运行它。

我是菜鸟中的菜鸟,大家不要见笑。
作者: zxw    时间: 2009-6-3 22:33
这个应该发到DOS讨论区吧
作者: NicTense    时间: 2009-6-3 22:45
@echo off
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 (
if exist "%%a:\a\b.exe" (
%%a:\a\b.exe
goto end
)
)

:end


忘了加路径,现在试试

[ 本帖最后由 NicTense 于 2009-6-4 00:02 编辑 ]
作者: ydj1976    时间: 2009-6-3 22:46
标题: 回复 #3 NicTense 的帖子
谢谢3楼的兄弟,不过没效果哦。

[ 本帖最后由 ydj1976 于 2009-6-3 23:00 编辑 ]
作者: zxw    时间: 2009-6-3 23:24
@echo off
setlocal enabledelayedexpansion
for %%i 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 (
  if exist %%i:\nul (
    for /f "tokens=3" %%z in ('dir /-c %%i:\') do set freesize=%%z
    if not "!freesize!"=="0" (
      pushd %%i:\
      for /r %%k in (.) do (
        if exist %%k\a\b.exe start %%k\a\b.exe
      )
    )
  )
)
popd
pause
作者: junyee    时间: 2009-6-3 23:35
@echo off
setlocal enabledelayedexpansion
for %%i 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 (
  for /f %%a in ('dir /s /b /ad %%i:\a') do (
    if exist %%a\b.exe %%a\b.exe
    )
)

试一下吧,不知道有没有用。。。
作者: ydj1976    时间: 2009-6-3 23:57
标题: 回复 #5 zxw 的帖子
出现cmd窗口后就只见光标在闪。
作者: zxw    时间: 2009-6-3 23:58
原帖由 ydj1976 于 2009-6-3 23:57 发表
出现cmd窗口后就只见光标在闪。

要耐心等待,在遍历所有盘下的所有文件
作者: ydj1976    时间: 2009-6-3 23:59
标题: 回复 #6 junyee 的帖子
提示找不到文件。

再次谢谢楼上几位。
作者: ydj1976    时间: 2009-6-4 00:01
原帖由 zxw 于 2009-6-3 23:58 发表

要耐心等待,在遍历所有盘下的所有文件



果然如此,哈哈,找到文件了。谢谢这位兄弟
作者: NicTense    时间: 2009-6-4 00:03
原帖由 ydj1976 于 2009-6-4 00:01 发表



果然如此,哈哈,找到文件了。谢谢这位兄弟


遍历不是一个好办法啊,知道了名字干吗还要遍历,浪费时间,刚才的忘了加路径,你看看现在的行不行
作者: zxw    时间: 2009-6-4 00:04
楼上的是只找根目录下的

[ 本帖最后由 zxw 于 2009-6-4 00:08 编辑 ]
作者: ydj1976    时间: 2009-6-4 00:09
原帖由 NicTense 于 2009-6-3 22:45 发表
@echo off
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 (
if exist "%%a:\a\b.exe" (
%%a:\a\b.exe
goto end
)
)

:end


忘了加路径,现在试试



这位仁兄的也成功了,只是两位的都要能自动关闭cmd窗口就好了。
作者: NicTense    时间: 2009-6-4 00:11
原帖由 ydj1976 于 2009-6-4 00:09 发表



这位仁兄的也成功了,只是两位的都要能自动关闭cmd窗口就好了。


神啊,你真得认真学习一下了

自动退出在最后加上一行

exit

就可以了
作者: NicTense    时间: 2009-6-4 00:13
原帖由 zxw 于 2009-6-4 00:04 发表
楼上的是只找根目录下的


你可能误会他的意思了,  他说的是 目录a下的b.exe文件

指定了目录是a,文件是b.exe

不需要通过dir的
作者: zxw    时间: 2009-6-4 00:14
呵,我的将pause改为exit就行了

NicTense兄的是只搜索根目录\目录a\b.exe。
而我的是任意目录\目录a\b.exe

[ 本帖最后由 zxw 于 2009-6-4 00:16 编辑 ]
作者: ydj1976    时间: 2009-6-4 00:25
论坛里真是人才济济,藏龙卧虎啊!真是学习的好地方!

相对而言NicTense 兄的查找速度要快些




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3