找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 23415|回复: 4

[已解决]批处理IF语句同时满足二个条件的语句要怎么写?

[复制链接]
发表于 2011-8-22 18:10:40 | 显示全部楼层 |阅读模式
SET A=1111
SET B=2222



A=1111
B=2222

执行CASE1

否则执和CASE2

查了很多资料都没有搞明白

评分

参与人数 1PB +2 收起 理由
CrLf + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2011-8-22 18:27:51 | 显示全部楼层
这个不是很确定,如果不介意代码多的话,可以试试:
  1. set a=1111
  2. set b=2222
  3. set c=0
  4. if "%a%"=="1111" set /a c+=1
  5. if "%b%"=="2222" set /a c+=1
  6. if "%c%"=="2" goto case1
  7. goto case2
复制代码

评分

参与人数 2PB +3 技术 +1 收起 理由
Hello123World + 3 乐于助人
CrLf + 1 乐于助人

查看全部评分

发表于 2011-8-22 18:42:51 | 显示全部楼层
你可以把两个字符连在一起判断~
不知楼主是不是这意思~
  1. @echo off
  2. SET A=1111
  3. SET B=2222
  4. if "%A%_%B%"=="1111_2222" (goto case1) else (goto case2)
  5. :case1
  6. echo A=1111
  7. echo B=2222
  8. pause
  9. exit
  10. :case2
  11. echo Error!
  12. pause
  13. exit
复制代码

评分

参与人数 2技术 +2 收起 理由
Hello123World + 1 乐于助人
CrLf + 1 乐于助人

查看全部评分

 楼主| 发表于 2011-8-22 19:07:15 | 显示全部楼层
原来是这样,我一直在想IF ELSE 嵌套, 谢谢二位大哥!你们的代码都可以达到我的目的,
发表于 2011-8-22 20:00:10 | 显示全部楼层

  1. @Echo Off
  2. Set "Flag=a"
  3. Set /A a=111,b=222
  4. If %a% NEQ 111 Set "Flag="
  5. If %b% NEQ 222 Set "Flag="
  6. If Defined Flag Goto Case1
  7. :Case2
  8. ....
  9. :Case1
  10. ....
复制代码

评分

参与人数 1技术 +1 收起 理由
Hello123World + 1 set /a 给两变量赋值

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 04:52 , Processed in 0.019146 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表