如果声明!=不起作用

Cof*_*mer 0 if-statement batch-file

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

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

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

tuk*_*kan 5

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

!=被重写为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"
)
Run Code Online (Sandbox Code Playgroud)

  • `if"%foundbootable%"`是无效的语法,它必须读为`if"%foundbootable%"=="false"`!考虑使用开关`/ I`进行不区分大小写的比较... (4认同)