中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-09 04:16
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » ||符号出问题! 查看 698 回复 6
楼 主 ||符号出问题! 发表于 2008-07-15 23:50 ·  中国 浙江 湖州 安吉县 电信
初级用户
积分 98
发帖 33
注册 2008-06-22 23:29
18年会员
UID 120722
性别 男
状态 离线
@echo off
if "%1"=="ok" echo 好!||shutdown -s -t 3600
echo 1
pause
在这段代码中..我开始->运行 然后输入D:\123.bat ok执行了输出"好!"的命令.这个时候是对的.
但是当我输入D:\123.bat ko的时候..正确的运行应该是不输出"好!"只执行关机命令.但是电脑并不执行关机命令..而是直接跳过了命令..直接输出"1"了

这是为什么?
2 发表于 2008-07-15 23:57 ·  中国 浙江 杭州 电信
高级用户
★★
积分 537
发帖 219
注册 2007-08-04 09:43
19年会员
UID 94620
性别 男
来自 杭州--半山
状态 离线
if "%1"=="ok" (echo 好!) else shutdown -s -t 3600
3 发表于 2008-07-16 00:01 ·  中国 浙江 湖州 安吉县 电信
初级用户
积分 98
发帖 33
注册 2008-06-22 23:29
18年会员
UID 120722
性别 男
状态 离线
谢谢了..

能不能再问个问题:

就是..比如在这样一个流程中.
:1
语句1
语句2
语句3

我想其中的语句2和语句3不属于:1应该怎么弄?
也就是说..当我使用goto 1的时候..不运行语句2,语句3.
不要和我说在语句1后面加个goto 2 然后在语句2前面输入:2
4 发表于 2008-07-16 08:23 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
18年会员
UID 112398
性别 男
状态 离线
楼主请运行以下代码,当程序循环两次后将不再显示语句2语句3

@echo off
:begin
set /a n+=1
if %n% lss 3 (set "s=") else (set "s=rem ")
echo 我是语句1
%s%echo 我是语句2
%s%echo 我是语句3
if %n% neq 5 echo.&goto begin
pause>nul
批处理之家新域名:www.bathome.net
5 发表于 2008-07-16 09:28 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
:1
语句1
goto :eof
语句2
语句3
6 发表于 2008-07-16 18:30 ·  中国 浙江 湖州 电信
初级用户
积分 98
发帖 33
注册 2008-06-22 23:29
18年会员
UID 120722
性别 男
状态 离线
4楼的..

%n%为什么要用2个%号?前面一个后面一个?
还有..你的程序我不太看得懂..我是新手.能写简单一点吗?

5楼的..
goto :eof是什么意思`?
7 发表于 2008-07-16 22:24 ·  中国 重庆 九龙坡区 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
论坛跳转: