无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 3887|回复: 16
打印 上一主题 下一主题

菜鸟求一批处理

[复制链接]
跳转到指定楼层
1#
发表于 2009-6-3 22:28:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
要求是搜索所有分区A文件夹下B.exe文件,找到后并运行它。

我是菜鸟中的菜鸟,大家不要见笑。
2#
发表于 2009-6-3 22:33:28 | 只看该作者
这个应该发到DOS讨论区吧
回复

使用道具 举报

3#
发表于 2009-6-3 22:45:41 | 只看该作者
@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 编辑 ]
回复

使用道具 举报

4#
 楼主| 发表于 2009-6-3 22:46:15 | 只看该作者

回复 #3 NicTense 的帖子

谢谢3楼的兄弟,不过没效果哦。

[ 本帖最后由 ydj1976 于 2009-6-3 23:00 编辑 ]
回复

使用道具 举报

5#
发表于 2009-6-3 23:24:01 | 只看该作者
@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
回复

使用道具 举报

6#
发表于 2009-6-3 23:35:02 | 只看该作者
@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
    )
)

试一下吧,不知道有没有用。。。
回复

使用道具 举报

7#
 楼主| 发表于 2009-6-3 23:57:06 | 只看该作者

回复 #5 zxw 的帖子

出现cmd窗口后就只见光标在闪。
回复

使用道具 举报

8#
发表于 2009-6-3 23:58:27 | 只看该作者
原帖由 ydj1976 于 2009-6-3 23:57 发表
出现cmd窗口后就只见光标在闪。

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

使用道具 举报

9#
 楼主| 发表于 2009-6-3 23:59:03 | 只看该作者

回复 #6 junyee 的帖子

提示找不到文件。

再次谢谢楼上几位。
回复

使用道具 举报

10#
 楼主| 发表于 2009-6-4 00:01:56 | 只看该作者
原帖由 zxw 于 2009-6-3 23:58 发表

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



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

使用道具 举报

11#
发表于 2009-6-4 00:03:55 | 只看该作者
原帖由 ydj1976 于 2009-6-4 00:01 发表



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


遍历不是一个好办法啊,知道了名字干吗还要遍历,浪费时间,刚才的忘了加路径,你看看现在的行不行
回复

使用道具 举报

12#
发表于 2009-6-4 00:04:45 | 只看该作者
楼上的是只找根目录下的

[ 本帖最后由 zxw 于 2009-6-4 00:08 编辑 ]
回复

使用道具 举报

13#
 楼主| 发表于 2009-6-4 00:09:39 | 只看该作者
原帖由 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窗口就好了。
回复

使用道具 举报

14#
发表于 2009-6-4 00:11:43 | 只看该作者
原帖由 ydj1976 于 2009-6-4 00:09 发表



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


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

自动退出在最后加上一行

exit

就可以了
回复

使用道具 举报

15#
发表于 2009-6-4 00:13:11 | 只看该作者
原帖由 zxw 于 2009-6-4 00:04 发表
楼上的是只找根目录下的


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

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

不需要通过dir的
回复

使用道具 举报

16#
发表于 2009-6-4 00:14:01 | 只看该作者
呵,我的将pause改为exit就行了

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

[ 本帖最后由 zxw 于 2009-6-4 00:16 编辑 ]
回复

使用道具 举报

17#
 楼主| 发表于 2009-6-4 00:25:32 | 只看该作者
论坛里真是人才济济,藏龙卧虎啊!真是学习的好地方!

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

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-9-25 21:29

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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