中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-09 03:12
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 用IF-ELSE时出错 查看 876 回复 6
楼 主 用IF-ELSE时出错 发表于 2008-07-07 14:53 ·  中国 北京 新国信通信有限公司
初级用户
积分 21
发帖 6
注册 2008-07-04 11:50
18年会员
UID 121084
性别 男
状态 离线
我编写一个小的扫描有没有闪存的批处理时,用IF--ELSE时,老出现"ELSE既不是DOS内部命令,也不是可执行文件"的出错提示.
if exist h:\nul copy .........
else msg......
2 发表于 2008-07-07 14:56 ·  中国 重庆 北碚区 电信
初级用户
★★
积分 198
发帖 89
注册 2007-09-06 23:22
18年会员
UID 96746
性别 男
来自 重庆
状态 离线
if exist h:\nul (copy .........
) else (msg...... )
else的 e 要和if的 f 擦边。
3 发表于 2008-07-07 16:27 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
尽快学会看帮助
if /?
The ELSE clause must occur on the same line as the command after the IF. For
example:

IF EXIST filename. (
del filename.
) ELSE (
echo filename. missing.
)
4 发表于 2008-07-07 17:47 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
18年会员
UID 112398
性别 男
状态 离线
为了加深兄弟理解,写了个实用例子:

@echo off
rem if...else...实例应用:判断输入数字的区域
:set
cls&set /p num=请输入0-50间的数字:
echo %num%|findstr "">nul&&goto wrong
if "%num: =%" gtr "50" goto wrong
for %%i in (10 20 30 40 50) do if %%i equ %num% cls&echo %num%=%%i&pause>nul&goto :eof
if %num% lss 10 (
cls&echo %num%^<10
) else (
if %num% lss 20 (
cls&echo 10^<%num%^<20
) else (
if %num% lss 30 (
cls&echo 20^<%num%^<30
) else (
if %num% lss 40 (
cls&echo 30^<%num%^<40
) else (
cls&echo 40^<%num%^<50
))))
pause>nul&goto :eof
:wrong
cls&echo 请正确输入!&&ping /n 2 127.1>nul&&goto set
批处理之家新域名:www.bathome.net
5 发表于 2008-07-08 12:24 ·  中国 山西 电信
银牌会员
★★★
天的白色影子
积分 2,343
发帖 636
注册 2004-03-06 00:00
22年会员
UID 19350
性别 男
状态 离线
没有擦边(缩进对齐)的必要
只要保证else前面有()就可以了

比如这样
if exist c:\s (echo test) else echo dd
6 发表于 2008-07-08 22:01 ·  中国 重庆 北碚区 电信
初级用户
★★
积分 198
发帖 89
注册 2007-09-06 23:22
18年会员
UID 96746
性别 男
来自 重庆
状态 离线
好象确实不必擦边,差点误导,抱歉......
7 发表于 2008-07-08 22:04 ·  中国 山东 淄博 联通
银牌会员
★★★
积分 1,604
发帖 646
注册 2008-04-13 23:39
18年会员
UID 115804
性别 男
状态 离线
任何一种编程语言,编写格式都是很重要的。。。^_^
心绪平和,眼藏静谧,无比安稳的火... Purification of soul...Just a false...^_^
论坛跳转: