脚本语言_脚本语言丨Batch入门教程第三章:逻辑判断

通过学习批处理入门课程前两章的内容,我们已经掌握了认知变量的基本概念和相关内容。今天,我们将继续与您分享第三章的内容:批处理入门课程的逻辑判断。< br>

脚本语言

逻辑判断< br>

逻辑判断是指使用if指令或其他判断指令来判断和控制过程的一种方式,它是程序的一个重要部分在批处理中,除了逻辑判断符号| |和& & amp之外,大多数情况下我们选择使用if;存在

if

if可以判断变量与值、变量与变量、值与值之间的关系。基本语法如下:

脚本语言

,其中if语句使用的代码块需要括起来,而不是{}此外,如果在批处理中没有使用elseif,所以如果您想使用else if,您可能需要这样写:

脚本语言

,也就是说,您必须在else if之后的代码块中写if,而不是紧跟着它写if。

当你第一次看到这个判断语法时,你可能会觉得它很可笑为什么没有括号?像其他语言一样:

脚本语言

这是巴奇的个性如果你以前对If语句一无所知,你可以看看下面这个奇妙的公式:

脚本语言

。例如,如果我们想判断1是否等于2,我们可以这样写:

脚本语言

。你到底要不要else声明?如果你不需要,会有两种写作风格:

脚本语言

。如果你是压头,你可以选择前者后者可以让您的代码在一行中看起来更简洁,但是后者不能使用其他代码。

如果不是

与其他语言相似,Batch也有判断错误的方法,但它没有被使用!=但更直接的是,如果不是,它的用法与if没有什么不同,只是取其结果

if/not defined

if not defined and if defined用于测试变量是否已定义。如果未定义则不定义,如果定义则定义。如果在未定义后添加else,则等同于已定义。这个原则很好理解。

用法:

脚本语言

实例:

脚本语言

如果定义相反

当然,我们也可以用if来达到if未定义的效果:

意味着如果“% variable name %”= =“就相当于如果未定义的变量名然而,在大多数情况下,我们建议选择后者,因为它更标准化,并且前者不知道是否会有错误。

if/note xit

if exit和ifnotexit也是相反的判断对。他们判断文件是否存在用法:

脚本语言

他们也可以用别的如果

与集合相同,则

的数字判断也只用于数字。我们可以比较大小下面是一个比较大小的简单程序:

脚本语言

比较大小的关键是中间的符号我们可以使用= =,但是我们必须在这两个值周围加上引号。但是,我们可以直接使用表示数学关系的字母缩写来表示数字之间的关系(其他的,如字符,不能使用,只能= =)下面

是Batch中用于判断数字之间关系的字母的缩写:

脚本语言

如果% error level %

% error level %是一个环境变量,在执行不同的指令后具有不同的值,我们可以使用非负性原则来判断数字之间的关系:

脚本语言

下面列出了一些特殊情况下的% ERRORLEVEL %值

脚本语言

注:ERRORLEVEL是一个非常奇妙的东西。有时它甚至可以等于任何值。没有人知道它能等于多少。上表仅列出了一些常见且相对稳定的错误代码。错误级别通常不等于32

如果我们想判断ERROLEVEL,我们可以直接使用数学判断语句:

我们可以使用exit /b和前面提到的if % ERRORLEVEL %来完成程序之间的参数传递,这将在“调用和参数”中提到

逻辑判断

批处理的逻辑判断分为两种类型:| |和& & amp,它们不像三元运算符那样起到if else的作用,而是用来判断指令是否被成功执行。

的用法后面直接跟着要判断的指令:

脚本语言

||表示,如果前一条指令不成功,则执行下一条指令,& & amp相反,如果前面的执行成功,则执行下面的指令它们可以一起使用,但是如果以混合的方式一起使用,很容易产生奇怪的错误,所以作者不建议一起使用它们。

我们可以用逻辑判断来完成许多任务。例如,我们可以预先判断用户的输入是否是数字,以避免处理过程中不必要的问题。如果a不是数字,则为

脚本语言

。@set /a c=b+1a将出现问题,将被| |检测到,并且将立即执行以下指令但是,为什么不写set /a c=b+a?因为如果您简单地将一个非数字变量写入表达式,它将被直接视为0。当你加一个数时,就相当于把1a当成一个数,这是不可能的,自然会失败。

至于为什么@,这是为了避免回声失败信息因为一条指令执行失败,所以一定会有一条失败消息,而且我们正在替换失败消息,所以我们不需要系统的失败消息当然,你可以删除@如果你想的话。今天我与大家分享的内容超过了

。如果这对你有帮助,请记得收集它。我们将在下一期的批处理入门教程中继续讨论高级知识。请留意它!

大家都在看

相关专题