![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-09 09:26 |
共 47,811 主题排行 / 349,895 发帖 / 今日 0 篇 / 48,253 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 帮忙改改重复运行的批处理 |
| 可打印版本 1,260 / 12 |
| 第1楼 25167241 | 发表于 2008-07-27 11:54 |
| 初级用户 发帖 12 积分 28 来自 广州 | |
|
帮忙改改重复运行的批处理 我是新手.我想运行不知盘符分区中的一个程序.如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次. 请高手帮忙改一改.程序是在最后一个盘的,就是不知盘符.我初学,可能这样写批处理不行,帮我重写也行.总之能运行最后一个盘的程序就成.谢谢. |
|
| 第2楼 greenldy | 发表于 2008-07-27 12:30 |
| 初级用户 发帖 15 积分 38 | |
|
@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 |
|
| 第3楼 25167241 | 发表于 2008-07-27 15:04 |
| 初级用户 发帖 12 积分 28 来自 广州 | |
|
谢谢 谢谢2楼,还有个问题,如果逐行运行命令,自然可以.
但是,一起运行,到指定的运行的程序,还来不及运行,就跳到下一行命令了,结果还是不能运行指定的运行的程序,能否在每段命令中,暂停30秒,让指定的程序运行呢? [ Last edited by 25167241 on 2008-7-27 at 05:33 PM ] |
|
| 第4楼 fastslz | 发表于 2008-07-28 12:41 |
| 铂金会员 发帖 2,315 积分 5,493 来自 上海 | |
|
运行环境?
纯DOS? CMD? |
|
| 第5楼 jh1688 | 发表于 2008-07-28 20:55 |
| 中级用户 发帖 126 积分 248 | |
|
是呀,楼主到底是在什么环境下运行该程序,请说明一下,别人才好帮你!!
|
|
| 第6楼 ljb603 | 发表于 2008-07-28 22:50 |
| 初级用户 发帖 49 积分 112 | |
|
先将 abc.exe 放入虚拟内存盘就可以了
|
|
| 第7楼 jiulong | 发表于 2008-07-29 08:22 |
| 中级用户 发帖 183 积分 396 | |
|
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 |
|
| 第8楼 25167241 | 发表于 2008-08-01 17:24 |
| 初级用户 发帖 12 积分 28 来自 广州 | |
|
请再改一下 谢谢7楼的大侠.
此段命令可以顺利运行最后一个盘的abc.exe了.十分感谢. 但如果abc.exe在倒数第二个盘.命令应该如何写呢?请赐教. |
|
| 第9楼 jiulong | 发表于 2008-08-03 01:31 |
| 中级用户 发帖 183 积分 396 | |
|
@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 |
|
| 第10楼 25167241 | 发表于 2008-08-03 14:04 |
| 初级用户 发帖 12 积分 28 来自 广州 | |
|
十分感谢 谢谢9楼的大侠
你的答题是一针见血,立竿见影.你才应该是金牌会员.是高手中的高手. 我是初学,提问题也不会提.经过你答案的提示,我想是提问的问题太幼稚了. 其实,我应问:如何运行不知盘中的abc.exe程序?这就不用反复提问了. 如何运行不知盘中的abc.exe程序?这段批处理能再帮我写一写呢? 谢谢. [ Last edited by 25167241 on 2008-8-3 at 08:39 PM ] |
|
| 第11楼 jiulong | 发表于 2008-08-06 08:42 |
| 中级用户 发帖 183 积分 396 | |
|
给你个思路,全盘搜索赋予变量。直接加上start 你的变量。
全盘搜索可以利用WMI也可以用FOR |
|
| 第12楼 25167241 | 发表于 2008-08-06 19:45 |
| 初级用户 发帖 12 积分 28 来自 广州 | |
|
11楼的大侠.
我水平太低,不会写.请求你帮我写一写. 谢谢了. |
|
| 第13楼 styusi | 发表于 2008-08-07 22:18 |
| 初级用户 发帖 7 积分 21 | |
|
可否全盘搜索任意目录下的程序并执行呢
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |