批处理的一个问题

顾俊程 发布于 2010/12/31 15:31
阅读 185
收藏 1

对于如下的代码为什么说else不是系统可执行的命令

@echo off

if exist a.txt (

echo 存在文件a.txt

echo 它的内容为:

type a.txt

else 

(

echo 文件a.txt 不存在

)

pause

对于如下的代码命令行窗口一闪而过

@echo off

if exist a.txt (

echo 存在文件a.txt

echo 它的内容为:

type a.txt

) else 

(

echo 文件a.txt 不存在

)

pause

对于如下的代码能够正常执行

@echo off

if exist a.txt (

echo 存在文件a.txt

echo 它的内容为:

type a.txt

) else (

echo 文件a.txt 不存在

)

pause

他们之间有什么区别吗?
加载中
0
ddatsh
ddatsh

运行 cmd

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.
    )

 

纯粹是个语法要求

 

这貌似属于 稍微高级一丁点的 CMD 应用,和那个好像叫 延迟变量的类似吧

简简单写就 goto 配合  :(label) 了

if xx goto trueFunc

do something not true

goto line after trueFunc

:trueFunc

0
顾俊程
顾俊程

引用来自#2楼“dd”的帖子

运行 cmd

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.
    )

纯粹是个语法要求

这貌似属于 稍微高级一丁点的 CMD 应用,和那个好像叫 延迟变量的类似吧

简简单写就 goto 配合  :(label) 了

if xx goto trueFunc

do something not true

goto line after trueFunc

:trueFunc

原来这样啊,多谢大哥指点啊

返回顶部
顶部