Board logo

标题: 用IF-ELSE时出错 [打印本页]

作者: yaoview     时间: 2008-7-7 14:53    标题: 用IF-ELSE时出错
我编写一个小的扫描有没有闪存的批处理时,用IF--ELSE时,老出现"ELSE既不是DOS内部命令,也不是可执行文件"的出错提示.
if exist h:\nul copy .........
else msg......

作者: WANKOILZ     时间: 2008-7-7 14:56
if exist h:\nul (copy .........
) else (msg...... )
else的 e 要和if的 f 擦边。

作者: HAT     时间: 2008-7-7 16:27
尽快学会看帮助
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.
)

作者: bat-zw     时间: 2008-7-7 17:47
为了加深兄弟理解,写了个实用例子:

@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

作者: qzwqzw     时间: 2008-7-8 12:24
没有擦边(缩进对齐)的必要
只要保证else前面有()就可以了

比如这样
if exist c:\s (echo test) else echo dd

作者: WANKOILZ     时间: 2008-7-8 22:01
好象确实不必擦边,差点误导,抱歉......

作者: pusofalse     时间: 2008-7-8 22:04
任何一种编程语言,编写格式都是很重要的。。。^_^