中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-02 10:18
48,037 主题排行 / 350,122 发帖 / 今日 0 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » 如何在批处理中实现复合条件和在IF为真时执行多条DOS命令
可打印版本  1,290 / 4
第1楼 luxiaoming2001 发表于 2006-11-16 03:17
新手上路 发帖 5 积分 16
如何在批处理中实现复合条件和在IF为真时执行多条DOS命令
我看了DOS命令的介绍后知道简单的IF语句是这样写的:
@echo off
set str=1
if "%str%"=="1" echo one
@echo on
但如何在批处理中实现复合条件和在IF为真时执行多条DOS命令呢??
比如str为1和为2时除了要echo one还要输出echo two,请问该如何实现,请高手指教
第2楼 redtek 发表于 2006-11-16 03:27
金牌会员 发帖 1,147 积分 2,902
执行多行的不同命令,但它又属于同一个针对范畴,如:IF ...( ) else (...)
可以使用 () 括号将一个多行的代码块括起来使用~:)
下面的贴子有实例~:)


看下面这个贴子,看完了就非常透彻了~:)
而且代码缩进书写得一眼就可以看清程序的所有结构~:)



if……else……语句中值得注意的一个问题
http://www.cn-dos.net/forum/viewthread.php?tid=22704&fpage=1&highlight=if

[ Last edited by redtek on 2006-11-16 at 03:31 AM ]
第3楼 vkill 发表于 2006-11-16 03:29
金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽
if 后面接着写就好,或者可以if goto
第4楼 NaturalJ0 发表于 2006-11-16 03:31
银牌会员 发帖 533 积分 1,181
复合条件要用 IF 的嵌套。就是一个 IF 中有另一个 IF。当然,你可以套很多层。

如果要执行多条,就要分是纯 DOS 还是 CMD 环境了。

纯 DOS 下,可以做个块用 GOTO 或 CALL 调用,或者直接做在另一个 BAT 中用 CALL 调。

如果在 CMD 下,会比较方便,像编程语言一样可以加括号,把你要一起运行的语句全用 () 括起来就行了。
第5楼 luxiaoming2001 发表于 2006-11-16 03:31
新手上路 发帖 5 积分 16
多谢了,这就收藏研究去
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023