中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-07 00:56
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]:也是关于 IF EXLE 嵌套的问题 查看 881 回复 4
楼 主 [求助]:也是关于 IF EXLE 嵌套的问题 发表于 2007-10-13 16:10 ·  中国 江苏 常州 武进区 电信
初级用户
积分 147
发帖 19
注册 2004-02-05 00:00
22年会员
UID 16727
性别 男
状态 离线
WINDOWS XP 意思是当二个条件均满足时set Y=bbb,否则set Y=aaa,并执行相应的任务,下列脚本已可满足,问题是能否将二条命令合并为一条,即将set Y=aaa插入 if 行中,也可实现上述目的....

set Y=aaa
if not exist C:\a (call :a) else (if not exist c:\c.exe (call :c) else (set Y=bbb)
pause

谢谢!

[ Last edited by rjn2307 on 2007-10-13 at 04:17 PM ]
2 发表于 2007-10-13 16:23 ·  中国 浙江 杭州 电信
高级用户
★★
积分 537
发帖 219
注册 2007-08-04 09:43
19年会员
UID 94620
性别 男
来自 杭州--半山
状态 离线
if not exist C:\a (call :a & if not exist c:\c.exe set Y=aaa) else (if not exist c:\c.exe (call :c) else set Y=bbb)
pause

[ Last edited by junchen2 on 2007-10-13 at 04:41 PM ]
3 发表于 2007-10-13 18:51 ·  中国 江苏 常州 武进区 电信
初级用户
积分 147
发帖 19
注册 2004-02-05 00:00
22年会员
UID 16727
性别 男
状态 离线
谢谢回复:
i但我想与其用两次 f not exist c:\c.exe
还不如用两次 set Y=aaa 了
if not exist C:\a (set Y=aaa&call :a) else (if not exist c:\c.exe (set Y=aaa&call :c) else (set Y=bbb)
4 发表于 2007-10-13 21:19 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
If exist c:\c.exe if exist C:\a (set Y=bbb) else (set Y=aaa && call :somelabel)
5 发表于 2007-10-13 23:00 ·  中国 江苏 常州 金坛区 电信
初级用户
积分 147
发帖 19
注册 2004-02-05 00:00
22年会员
UID 16727
性别 男
状态 离线
谢谢回复:
似乎还是不行,我想达到这种效果

set x=d:\Windows
set Y=只有一个
if not exist %X%\Notepad.exe (set Y=%y%ime) else (if not exist %X%\ime (set Y=%y%Notepad) else (set Y=两个都有))
echo %y%
pause
论坛跳转: