Board logo

标题: 帮忙改改重复运行的批处理 [打印本页]

作者: 25167241     时间: 2008-7-27 11:54    标题: 帮忙改改重复运行的批处理

我是新手.我想运行不知盘符分区中的一个程序.如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次. 请高手帮忙改一改.程序是在最后一个盘的,就是不知盘符.我初学,可能这样写批处理不行,帮我重写也行.总之能运行最后一个盘的程序就成.谢谢.

作者: greenldy     时间: 2008-7-27 12:30
@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

作者: 25167241     时间: 2008-7-27 15:04    标题: 谢谢

谢谢2楼,还有个问题,如果逐行运行命令,自然可以. 但是,一起运行,到指定的运行的程序,还来不及运行,就跳到下一行命令了,结果还是不能运行指定的运行的程序,能否在每段命令中,暂停30秒,让指定的程序运行呢? [ Last edited by 25167241 on 2008-7-27 at 05:33 PM ]

作者: fastslz     时间: 2008-7-28 12:41
运行环境? 纯DOS? CMD?

作者: jh1688     时间: 2008-7-28 20:55
是呀,楼主到底是在什么环境下运行该程序,请说明一下,别人才好帮你!!

作者: ljb603     时间: 2008-7-28 22:50
先将 abc.exe 放入虚拟内存盘就可以了

作者: jiulong     时间: 2008-7-29 08:22
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

作者: 25167241     时间: 2008-8-1 17:24    标题: 请再改一下

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

作者: jiulong     时间: 2008-8-3 01:31
@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

作者: 25167241     时间: 2008-8-3 14:04    标题: 十分感谢

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

作者: jiulong     时间: 2008-8-6 08:42
给你个思路,全盘搜索赋予变量。直接加上start 你的变量。 全盘搜索可以利用WMI也可以用FOR

作者: 25167241     时间: 2008-8-6 19:45
11楼的大侠. 我水平太低,不会写.请求你帮我写一写. 谢谢了.

作者: styusi     时间: 2008-8-7 22:18
可否全盘搜索任意目录下的程序并执行呢