中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 帮忙改改重复运行的批处理 上一主题 | 下一主题
25167241
初级用户





积分 28
发帖 12
注册 2008-7-26
来自 广州
状态 离线
『楼 主』:  帮忙改改重复运行的批处理

我是新手.我想运行不知盘符分区中的一个程序.如abc.exe,批处理如下:
D:
abc.exe
e:
abc.exe
f:
abc.exe
g:
abc.exe
h:
abc.exe
i:
abc.exe
……
n:
abc.exe
exit
假设abc.exe在F盘,批处理到F盘就运行了.但是到G盘行命令找不到abc.exe,又重头找,
再次运行F盘的abc.exe,有N行命令就重复运行N次.
请高手帮忙改一改.程序是在最后一个盘的,就是不知盘符.我初学,可能这样写批处理不行,帮我重写也行.总之能运行最后一个盘的程序就成.谢谢.

2008-7-27 11:54
查看资料  发送邮件  发短消息 网志  OICQ (821664905)  编辑帖子  回复  引用回复
greenldy
初级用户





积分 38
发帖 15
注册 2008-7-23
状态 离线
『第 2 楼』:  

@ECHO OFF

d:
if not exist abc.exe goto nextE
abc.exe
goto Q

:nexeE
E:
if not exist abc.exe goto nextF
abc.exe
goto Q

:nexeF
F:
if not exist abc.exe goto nextG
abc.exe
goto Q


........

:Q
exit

2008-7-27 12:30
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
25167241
初级用户





积分 28
发帖 12
注册 2008-7-26
来自 广州
状态 离线
『第 3 楼』:  谢谢

谢谢2楼,还有个问题,如果逐行运行命令,自然可以.
但是,一起运行,到指定的运行的程序,还来不及运行,就跳到下一行命令了,结果还是不能运行指定的运行的程序,能否在每段命令中,暂停30秒,让指定的程序运行呢?

[ Last edited by 25167241 on 2008-7-27 at 05:33 PM ]

2008-7-27 15:04
查看资料  发送邮件  发短消息 网志  OICQ (821664905)  编辑帖子  回复  引用回复
fastslz
铂金会员

DOS一根葱


积分 5493
发帖 2315
注册 2006-5-1
来自 上海
状态 离线
『第 4 楼』:  

运行环境?
纯DOS?
CMD?



第一高手    第二高手

2008-7-28 12:41
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
jh1688
中级用户





积分 248
发帖 126
注册 2008-5-30
状态 离线
『第 5 楼』:  

是呀,楼主到底是在什么环境下运行该程序,请说明一下,别人才好帮你!!

2008-7-28 20:55
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ljb603
初级用户





积分 112
发帖 49
注册 2006-10-19
状态 离线
『第 6 楼』:  

先将 abc.exe 放入虚拟内存盘就可以了

2008-7-28 22:50
查看资料  发短消息 网志   编辑帖子  回复  引用回复
jiulong
中级用户




积分 396
发帖 183
注册 2007-12-23
状态 离线
『第 7 楼』:  

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 set driver=%%i
)
start %driver%:\abc.exe

2008-7-29 08:22
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
25167241
初级用户





积分 28
发帖 12
注册 2008-7-26
来自 广州
状态 离线
『第 8 楼』:  请再改一下

谢谢7楼的大侠.
此段命令可以顺利运行最后一个盘的abc.exe了.十分感谢.
但如果abc.exe在倒数第二个盘.命令应该如何写呢?请赐教.

2008-8-1 17:24
查看资料  发送邮件  发短消息 网志  OICQ (821664905)  编辑帖子  回复  引用回复
jiulong
中级用户




积分 396
发帖 183
注册 2007-12-23
状态 离线
『第 9 楼』:  

@echo off& Setlocal EnableDelayedExpansion

for %%i in (z y x w v u t s r q p o n m l k j i h g f e d c) do (
     if exist %%i:\nul (set num=%%i&<nul set/p=%%i,>>a.txt)
    )
for /f "tokens=1,2,3 delims=," %%i in (a.txt) do set drive=%%j
del a.txt

start %drive%:\abc.exe

2008-8-3 01:31
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
25167241
初级用户





积分 28
发帖 12
注册 2008-7-26
来自 广州
状态 离线
『第 10 楼』:  十分感谢

谢谢9楼的大侠
你的答题是一针见血,立竿见影.你才应该是金牌会员.是高手中的高手.
我是初学,提问题也不会提.经过你答案的提示,我想是提问的问题太幼稚了.
其实,我应问:如何运行不知盘中的abc.exe程序?这就不用反复提问了.
如何运行不知盘中的abc.exe程序?这段批处理能再帮我写一写呢?
谢谢.

[ Last edited by 25167241 on 2008-8-3 at 08:39 PM ]

2008-8-3 14:04
查看资料  发送邮件  发短消息 网志  OICQ (821664905)  编辑帖子  回复  引用回复
jiulong
中级用户




积分 396
发帖 183
注册 2007-12-23
状态 离线
『第 11 楼』:  

给你个思路,全盘搜索赋予变量。直接加上start 你的变量。
全盘搜索可以利用WMI也可以用FOR

2008-8-6 08:42
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
25167241
初级用户





积分 28
发帖 12
注册 2008-7-26
来自 广州
状态 离线
『第 12 楼』:  

11楼的大侠.
我水平太低,不会写.请求你帮我写一写.
谢谢了.

2008-8-6 19:45
查看资料  发送邮件  发短消息 网志  OICQ (821664905)  编辑帖子  回复  引用回复
styusi
初级用户





积分 21
发帖 7
注册 2007-11-17
状态 离线
『第 13 楼』:  

可否全盘搜索任意目录下的程序并执行呢

2008-8-7 22:18
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: