批处理的一个问题

发布于 2021-11-13 18:04:23 字数 680 浏览 767 评论 2

对于如下的代码为什么说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

他们之间有什么区别吗?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

流心雨 2021-11-15 21:03:53

引用来自#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

囚你心 2021-11-15 03:46:14

运行 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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文