Batch file Windows脚本中的else if语句
我试图在Windows脚本上使用if-else语句检查一些条件。下面是代码块Batch file Windows脚本中的else if语句,batch-file,Batch File,我试图在Windows脚本上使用if-else语句检查一些条件。下面是代码块 if "%1" == "" ( echo empty ) else ( if %1 LSS 1900 ( echo lesser ) else ( if %1 GTR 1900 ( echo greater ))) 我试图根据通过的论点回应这些陈述。越来越多的条件在起作用。但当我不传递任何参数时,我在cmd上得到错误消息“1900此时是意外的”,而预期的echo是空的 请帮我做这个。如果这是一个重复的问题,
if "%1" == "" (
echo empty
) else (
if %1 LSS 1900 (
echo lesser
) else (
if %1 GTR 1900 (
echo greater
)))
我试图根据通过的论点回应这些陈述。越来越多的条件在起作用。但当我不传递任何参数时,我在cmd上得到错误消息“1900此时是意外的”,而预期的echo是空的
请帮我做这个。如果这是一个重复的问题,请告诉我答案。我搜索了Internet,我无能为力。这是因为
%1
计算结果为空字符串,因此该行读取
if LSS 1900 (
这是无效的语法
这里的问题是,所有内容(因为它在概念上是一条语句)都是一次性解析的,即使是根本没有运行的部分也是如此。一种选择是引入一个变量:
set ARG=0
if not "%1"=="" set "ARG=%1"
if "%1" == "" (
echo empty
) else if %ARG% LSS 1900 (
echo lesser
) else if %ARG% GTR 1900 (
echo greater
)
另外请注意,额外的块不是严格必需的,因此为了可读性,我在这里省略了它们。这是因为
%1
然后计算为空字符串,因此该行读取
if LSS 1900 (
这是无效的语法
这里的问题是,所有内容(因为它在概念上是一条语句)都是一次性解析的,即使是根本没有运行的部分也是如此。一种选择是引入一个变量:
set ARG=0
if not "%1"=="" set "ARG=%1"
if "%1" == "" (
echo empty
) else if %ARG% LSS 1900 (
echo lesser
) else if %ARG% GTR 1900 (
echo greater
)
另外请注意,额外的块不是严格必需的,因此为了可读性,我在这里省略了它们。这是因为
%1
然后计算为空字符串,因此该行读取
if LSS 1900 (
这是无效的语法
这里的问题是,所有内容(因为它在概念上是一条语句)都是一次性解析的,即使是根本没有运行的部分也是如此。一种选择是引入一个变量:
set ARG=0
if not "%1"=="" set "ARG=%1"
if "%1" == "" (
echo empty
) else if %ARG% LSS 1900 (
echo lesser
) else if %ARG% GTR 1900 (
echo greater
)
另外请注意,额外的块不是严格必需的,因此为了可读性,我在这里省略了它们。这是因为
%1
然后计算为空字符串,因此该行读取
if LSS 1900 (
这是无效的语法
这里的问题是,所有内容(因为它在概念上是一条语句)都是一次性解析的,即使是根本没有运行的部分也是如此。一种选择是引入一个变量:
set ARG=0
if not "%1"=="" set "ARG=%1"
if "%1" == "" (
echo empty
) else if %ARG% LSS 1900 (
echo lesser
) else if %ARG% GTR 1900 (
echo greater
)
另外请注意,额外的块不是绝对必要的,因此为了可读性,我在这里省略了它们。上述答案不正确。是的,您应该使用else..if,但不是else if,而是elself(Windows shell脚本)
上述答案是不正确的。是的,您应该使用else..if,但不是else if,而是elself(Windows shell脚本)
上述答案是不正确的。是的,您应该使用else..if,但不是else if,而是elself(Windows shell脚本)
上述答案是不正确的。是的,您应该使用else..if,但不是else if,而是elself(Windows shell脚本)
那你该怎么做呢?他在测试第一行的空字符串
如果“%1”==”(
@bastos.sergio:看我的编辑,他们在测试它是无关紧要的,因为错误发生在代码运行之前。非常感谢@Joey。这很完美:)那你该怎么做呢?他在测试第一行的空字符串如果“%1”==”(
@bastos.sergio:看我的编辑,他们在测试它是无关紧要的,因为错误发生在代码运行之前。非常感谢@Joey。这很完美:)那你该怎么做呢?他在测试第一行的空字符串如果“%1”==”(
@bastos.sergio:看我的编辑,他们在测试它是无关紧要的,因为错误发生在代码运行之前。非常感谢@Joey。这很完美:)那你该怎么做呢?他在测试第一行的空字符串如果“%1”==”(
@bastos.sergio:看我的编辑,他们在测试它是无关紧要的,因为错误发生在代码运行之前。非常感谢@Joey。这很完美:)