Batch file goto(cmd)的问题

Batch file goto(cmd)的问题,batch-file,cmd,Batch File,Cmd,问候语,它应该是一个简单的计算,但由于某些原因,当“if”起作用时(对于1/0),它看起来好像“goto”不起作用(这里我可能弄错了)。你能帮我解决这个问题吗?此外,我还在考虑在任何txt中键入错误:我应该在neq 0之后使用2>txt\u name.txt还是什么? 是从子例程返回的内置构造(call:subroutine)。当不在子例程中使用时,它将退出当前批处理文件 例如,将标签重命名为end。 或者在批处理文件末尾使用而不是goto 有关输出重定向示例和语法,请参见您案例中的soecho

问候语,它应该是一个简单的计算,但由于某些原因,当“if”起作用时(对于1/0),它看起来好像“goto”不起作用(这里我可能弄错了)。你能帮我解决这个问题吗?此外,我还在考虑在任何txt中键入错误:我应该在
neq 0
之后使用
2>txt\u name.txt
还是什么?

  • 是从子例程返回的内置构造(
    call:subroutine
    )。当不在子例程中使用时,它将退出当前批处理文件

    例如,将标签重命名为
    end

    或者在批处理文件末尾使用而不是
    goto

  • 有关输出重定向示例和语法,请参见您案例中的so
    echo
    打印到标准输出,因此必须使用

    @echo off
    :WriteAgain
    set x= 
    set /p Variables=Write your expression 
    set /a x=%Variables%
    if %errorlevel% neq 0 goto ErrorOccured
    echo %x% 
    goto :eof
    :ErrorOccured
    echo.Your expression is not valid 
    goto WriteAgain
    :eof
    
    一些实用程序确实会将错误打印到STDERR,而标准的
    不会捕获消息,因此应该使用
    command 2>errlog.txt

      • 是从子例程返回的内置构造(
        call:subroutine
        )。当不在子例程中使用时,它将退出当前批处理文件

        例如,将标签重命名为
        end

        或者在批处理文件末尾使用而不是
        goto

      • 有关输出重定向示例和语法,请参见您案例中的so
        echo
        打印到标准输出,因此必须使用

        @echo off
        :WriteAgain
        set x= 
        set /p Variables=Write your expression 
        set /a x=%Variables%
        if %errorlevel% neq 0 goto ErrorOccured
        echo %x% 
        goto :eof
        :ErrorOccured
        echo.Your expression is not valid 
        goto WriteAgain
        :eof
        
        一些实用程序确实会将错误打印到STDERR,而标准的
        不会捕获消息,因此应该使用
        command 2>errlog.txt

        • 你不需要

          echo Your expression is not valid >errlog.txt
          
          试用

          goto :eof
          
          而且我也不确定,但可能eof这个名字不好(CMD本身使用),所以请保持简单,并使用任何其他名称,如“退出、问题、失败等…”

          echo Your expression is not valid >errlog.txt
          
          试用

          goto :eof
          

          而且我也不确定,但可能eof这个名字不好(CMD本身使用),所以请保持简单,并使用任何其他名称,如“退出、问题、失败等”。

          这是一个有趣的怪癖。这是一个有趣的怪癖。
          exit
          也不是一个好名字,因为有这样的命令,所以代码变得混乱;然而,
          :end
          可能很好…
          exit
          也不是一个好名字,因为有这样一个命令,所以代码变得混乱;但是,
          :end
          可能很好。。。