批处理的一个问题
对于如下的代码为什么说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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
引用来自#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
运行 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