如何批量检查参数是否为空?

时间:2019-02-20 11:39:43

标签: batch-file

我从批处理开始,我需要做一个简单的练习,但是我有一些问题。

在练习中,我需要使用cmd引入3个参数,并检查是否只有3个,没有更多,也不少。然后,我需要检查每个参数,看看每个人是否都等于一个字母,%1应该是a%2 b%3 {{ 1}})

c

1 个答案:

答案 0 :(得分:2)

而是使用:

if "%~1" == "" (
 goto end
) else (
  goto c1
)

括号不是if语法的比较部分的一部分。尽管它们不会产生语法错误,但您所处条件的逻辑是错误的,因为它们将被视为比较字符串的一部分。

使用%~1删除参数周围的引号(如果有的话),并使用引号处理参数中的空格。

在括号之前和之后放置空格,因为在某些情况下,如果不与命令分开,则可能会出现语法错误。我个人更喜欢新行,因为它们可以提高可读性。

最好从检查最后一个参数(在您的情况下为4)开始,就像省略了一个一样,cmd解析器将从1开始计数。