![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-04 06:45 |
共 48,038 主题排行 / 350,123 发帖 / 今日 0 篇 / 48,251 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 如何使用判断语句,求大家帮帮忙 |
| 可打印版本 930 / 7 |
| 第1楼 78586862 | 发表于 2007-04-20 02:26 |
| 初级用户 发帖 14 积分 25 | |
|
如何使用判断语句,求大家帮帮忙 @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 就这样........直到全部判断完了就退出. 哎 ~ 怎么看 还是那么罗嗦.................. |
|
| 第2楼 0451lym | 发表于 2007-04-20 02:41 |
| 高级用户 发帖 357 积分 760 | |
| 第3楼 lianjiang2004 | 发表于 2007-04-20 02:51 |
| 金牌会员 发帖 1,884 积分 3,946 | |
|
描述不清。
“在判断有没有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,有” 是矛盾的。 不知想干嘛,如何判断。 |
|
| 第4楼 lianjiang2004 | 发表于 2007-04-20 03:04 |
| 金牌会员 发帖 1,884 积分 3,946 | |
|
不知这样行否?
--------------- 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 |
|
| 第5楼 htysm | 发表于 2007-04-20 04:31 |
| 高级用户 发帖 415 积分 866 | |
|
请问楼主,你到底有多少个*.exe?
|
|
| 第6楼 78586862 | 发表于 2007-04-20 07:12 |
| 初级用户 发帖 14 积分 25 | |
Originally posted by lianjiang2004 at 2007-4-20 02:51 AM: 成了,又学会了一招,呵呵 我这个主要是用于自己批处理那些机子更新游戏以后 ,不用在重复更新:D 谢谢 lianjiang2004在位朋友。 |
|
| 第7楼 78586862 | 发表于 2007-04-20 07:13 |
| 初级用户 发帖 14 积分 25 | |
|
请问楼主,你到底有多少个*.exe?
不限制,只是要个语法 [ Last edited by 78586862 on 2007-4-20 at 07:14 AM ] |
|
| 第8楼 BWSkyer | 发表于 2007-04-20 22:56 |
| 中级用户 发帖 180 积分 367 来自 重庆 | |
Originally posted by lianjiang2004 at 03:04: 補充一下;) 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 |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |