@echo offset one=%1set two=%2if "%one%"=="" (echo 空) else (echo %1)if "%two%"=="" (echo null) else echo %2
很多时候,我们需要检查某个变量的
值
是否
为
空
,以便做后续处理。
对于这个问题,很多人会毫不犹豫地选择 if "%str%"=="" …… 的句式,在早期的
批处理
中,还可以看到这样的语句:if [%str%]==[],有人把这两种写法称为“防
空
字符”。
可是,这样做真的能在各种复杂的情况下
判断
某个变量的
值
是否
为
空
吗?
答案
是否
定的。
先来看 if [%str%]==[],当%s
Echo :显示当前ECHO的状态:ECHO ON 或者ECHO OFF 。
ECHO ON :ECHO状态设为ON,将显示命令行(如每行前的C:>等类似标志)。
ECHO OFF:CHO状态设为OFF,将不显示命令行(如每行前的C:>等类似标志) 。
ECHO 字符串 :将
输入
的字符串显示在CMD屏幕上。
ECHO 字符串 &ECHO 字符串 … :&,类似and的意思,逻辑运
其中,`条件` 是一个逻辑表达式,如果为真则执行 `执行语句1`,否则执行 `执行语句2`。注意,括号中的语句必须使用 `()` 括起来。
以下是一个示例,
判断
一个数
是否
大于等于 10:
@echo off
set /p num=请
输入
一个数:
if %num% GEQ 10 (
echo 这个数大于等于 10
) else (
echo 这个数小于 10
在这个示例中,使用 `set /p` 命令获取用户
输入
的数,并使用 `%num%` 引用该变量。然后使用 `if` 语句
判断
这个数
是否
大于等于 10,并输出相应的结果。注意,这里使用了 `GEQ` 表示大于等于,还有其他的比较符号可以使用,如 `LSS` 表示小于,`EQU` 表示等于等等。