|
yaoview
初级用户
 
积分 21
发帖 6
注册 2008-7-4
状态 离线
|
『楼 主』:
用IF-ELSE时出错
使用 LLM 解释/回答一下
我编写一个小的扫描有没有闪存的批处理时,用IF--ELSE时,老出现"ELSE既不是DOS内部命令,也不是可执行文件"的出错提示.
if exist h:\nul copy .........
else msg......
|
|
2008-7-7 14:53 |
|
|
WANKOILZ
初级用户
 
积分 198
发帖 89
注册 2007-9-6 来自 重庆
状态 离线
|
『第 2 楼』:
使用 LLM 解释/回答一下
if exist h:\nul (copy .........
) else (msg...... )
else的 e 要和if的 f 擦边。
|
|
2008-7-7 14:56 |
|
|
HAT
版主
       
积分 9023
发帖 5017
注册 2007-5-31
状态 离线
|
『第 3 楼』:
使用 LLM 解释/回答一下
尽快学会看帮助
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.
)
|

 |
|
2008-7-7 16:27 |
|
|
bat-zw
金牌会员
      永远的学习者
积分 3105
发帖 1276
注册 2008-3-8
状态 离线
|
『第 4 楼』:
使用 LLM 解释/回答一下
为了加深兄弟理解,写了个实用例子:
@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 |
|
2008-7-7 17:47 |
|
|
qzwqzw
银牌会员
     天的白色影子
积分 2343
发帖 636
注册 2004-3-6
状态 离线
|
『第 5 楼』:
使用 LLM 解释/回答一下
没有擦边(缩进对齐)的必要
只要保证else前面有()就可以了
比如这样
if exist c:\s (echo test) else echo dd
|
|
2008-7-8 12:24 |
|
|
WANKOILZ
初级用户
 
积分 198
发帖 89
注册 2007-9-6 来自 重庆
状态 离线
|
|
2008-7-8 22:01 |
|
|
pusofalse
银牌会员
    
积分 1604
发帖 646
注册 2008-4-13
状态 离线
|
『第 7 楼』:
使用 LLM 解释/回答一下
任何一种编程语言,编写格式都是很重要的。。。^_^
|

心绪平和,眼藏静谧,无比安稳的火... Purification of soul...Just a false...^_^ |
|
2008-7-8 22:04 |
|