首页 > 解决方案 > 如果语句 != 不起作用

问题描述

我需要对我的代码进行另一次评估

if %programtorun% != "" (
    echo test
    pause
) else if %foundbootable% (
    set oserrorcode=1
) else (
   set computererrorcode=2
   goto error
)
if %programtorun% == init.lua (
   set foundbootable=true
)

我不知道我做错了什么。如果您需要更多详细信息,请询问。

标签: batch-fileif-statement

解决方案


您不能!=在批处理文件中使用。第二个要注意的是空间。

!=被重写为IF NOT <first>==<second> (也NEQ可以使用,这是第二种选择,但NOT已经存在更长的时间并且不需要任何额外的工作)。

我冒昧地重写了您的代码,现在它应该适合您:

if NOT "%programtorun%"=="" (
    echo test
    pause
) else if "%foundbootable%"=="false" (
   set "oserrorcode=1"
) else (
    set "computererrorcode=2"
    goto :error
)
if "%programtorun%"=="init.lua" (
   set "foundbootable=true"
)

推荐阅读