Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file Windows脚本中的else if语句_Batch File - Fatal编程技术网

Batch file Windows脚本中的else if语句

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是空的 请帮我做这个。如果这是一个重复的问题,

我试图在Windows脚本上使用if-else语句检查一些条件。下面是代码块

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。这很完美:)