|
78586862
初级用户
 
积分 25
发帖 14
注册 2006-10-28
状态 离线
|
『楼 主』:
如何使用判断语句,求大家帮帮忙
使用 LLM 解释/回答一下
@echo off
if exist f:\555\0420.inf goto NO
我们知道 批处理中
if exist 是判断文件
f:\555\0420.inf 是F盘555文件夹里有没有0420.INF这个文档
goto NO 有就把批处理退出 没有就执行
比如:
@echo off
if exist f:\555\0420.inf goto NO
start/w Q:\0402\d.exe
start/w Q:\0402\e.exe
start/w Q:\0402\f.exe
@copy Q:\0402\0420.inf f:\555\
那么请问 怎么修改才可以 这样判断 :
我要求先判断F盘555文件夹里有没有0420.INF这个文档,没有的话就运行下面的程序Q:\0402\d.exe运行完以后,在判断有没有2.inf,没有的话就执行Q:\0402\e.exe,如果已经有了2.inf这个文档,那么就执行Q:\0402\f.exe这个程序,以此类推,直到所有的文件都已经执行完,然后退出.
我这样的想法主要是想当我批处理执行多个EXE的时候,突然重起,那么启动完后还可以接着运行前面没有运行过的文件或者操作,因为每运行一次就生成一个判断文件,如果运行时发现已经了那个判断文件,就跳过,然后执行下一个....哎 显得好罗嗦,都不知道你们看得懂吗, 总的一句话就是:
开机就判断 F盘555文件夹里有没有0420.INF这个文档,有就不执行,直接退出,如果没有 那么就运行Q:\0402\d.exe 运行完以后在判断有没有001.INF这个文档没有运行Q:\0402\e.exe,有的话就判断有没有002.inf这个文档,没有就运行Q:\0402\f.exe,有的话就判断有没有003.inf这个文档,没有就运行Q:\0402\g.exe
就这样........直到全部判断完了就退出.
哎 ~ 怎么看 还是那么罗嗦..................
|
|
2007-4-20 02:26 |
|
|
0451lym
高级用户
   
积分 760
发帖 357
注册 2005-10-10
状态 离线
|
|
2007-4-20 02:41 |
|
|
lianjiang2004
金牌会员
     
积分 3946
发帖 1884
注册 2006-1-20
状态 离线
|
『第 3 楼』:
使用 LLM 解释/回答一下
描述不清。
“在判断有没有2.inf,没有的话就执行Q:\0402\e.exe,如果已经有了2.inf这个文档,那么就执行Q:\0402\f.exe这个程序,”
“如果没有 那么就运行Q:\0402\d.exe 运行完以后在判断有没有001.INF这个文档没有运行Q:\0402\e.exe,有的话就判断有没有002.inf这个文档,没有就运行Q:\0402\f.exe,有”
是矛盾的。
不知想干嘛,如何判断。
|

Windows 一键还原
http://www.yjhy.com |
|
2007-4-20 02:51 |
|
|
lianjiang2004
金牌会员
     
积分 3946
发帖 1884
注册 2006-1-20
状态 离线
|
『第 4 楼』:
使用 LLM 解释/回答一下
不知这样行否?
---------------
if not exist f:\555\0420.inf ( start/w Q:\0402\d.exe ) else goto NO
if not exist f:\555\001.inf start/w Q:\0402\e.exe && copy Q:\0402\001.inf f:\555\
if not exist f:\555\002.inf start/w Q:\0402\f.exe && copy Q:\0402\002.inf f:\555\
if not exist f:\555\003.inf start/w Q:\0402\g.exe && copy Q:\0402\003.inf f:\555\
copy Q:\0402\0420.inf f:\555\
:no
|

Windows 一键还原
http://www.yjhy.com |
|
2007-4-20 03:04 |
|
|
htysm
高级用户
   
积分 866
发帖 415
注册 2005-12-4
状态 离线
|
|
2007-4-20 04:31 |
|
|
78586862
初级用户
 
积分 25
发帖 14
注册 2006-10-28
状态 离线
|
『第 6 楼』:
使用 LLM 解释/回答一下
Originally posted by lianjiang2004 at 2007-4-20 02:51 AM:
描述不清。
“在判断有没有2.inf,没有的话就执行Q:\0402\e.exe,如果已经有了2.inf这个文档,那么就执行Q:\0402\f.exe这个程序,”
“如果没有 那么就运行Q ...
成了,又学会了一招,呵呵 我这个主要是用于自己批处理那些机子更新游戏以后 ,不用在重复更新:D 谢谢 lianjiang2004在位朋友。
|
|
2007-4-20 07:12 |
|
|
78586862
初级用户
 
积分 25
发帖 14
注册 2006-10-28
状态 离线
|
『第 7 楼』:
使用 LLM 解释/回答一下
请问楼主,你到底有多少个*.exe?
不限制,只是要个语法
Last edited by 78586862 on 2007-4-20 at 07:14 AM ]
|
|
2007-4-20 07:13 |
|
|
BWSkyer
中级用户
   我是DOS学者
积分 367
发帖 180
注册 2006-5-14 来自 重庆
状态 离线
|
『第 8 楼』:
使用 LLM 解释/回答一下
Originally posted by lianjiang2004 at 03:04:
不知这样行否?
---------------
if not exist f:\555\0420.inf ( start/w Q:\0402\d.exe ) else goto NO
if not exist f:\555\001.inf start/w Q:\0402\e.exe &&am ...
補充一下;) 4樓的else用法是錯的..
ELSE 子句必須出現在 IF 之後的同一行。
例如:
IF EXIST filename. (
del filename.
) ELSE (
echo filename. missing.
)
以下命令無法作用,因為 del 命令必須以換行字元來
結尾:
IF EXIST filename. del filename. ELSE echo filename. missing
下面命令也無法作用,因為 ELSE 命令必須在與 IF 命令同一行
的結尾:
IF EXIST filename. del filename.
ELSE echo filename. missing
下面命令只有在寫成一行時才能作用:
IF EXIST filename. (del filename.) ELSE echo filename. missing
|

My blog:左铅右椠 上善若水
My team: 519创意团队 |
|
2007-4-20 22:56 |
|