批处理脚本可以取代未选择的代码块

时间:2017-07-12 17:10:27

标签: batch-file

我有一个批处理脚本,用于在运行特定代码块之前检查用户的输入。两个块都操纵相同的变量,但即使我选择执行第一个块,第二个块的变量也会被设置。

代码:

if %x == 1 goto :Block1
if %x == 2 goto :Block2

:Block1
set variable== "Works"

:Block2
set variable == "Works"

即使我输入了1,块2也在执行。我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

与许多语言不同,批处理没有概念结束"程序" - 它只是逐行继续执行,直到它到达文件结尾。因此,在完成主线之后需要goto :eof,否则将继续执行子程序代码。 :EOFCMD理解为end of file的预定义标签。冒号必需