1

是否可以在 echo 之后立即使用 goto 而无需换行?

set /p talk=">"
if /i "%talk%"=="hello" echo Hello!
if /i "%talk%"=="how are you?" echo Good thanks!
if /i "%talk%"=="who are you?" echo I am COM.
echo That statement was not recognized.
goto 1

我可以让它在响应其中一条响应行之后开始,如果您输入错误,它会显示“该语句未被识别”。然后转到 1?

4

2 回答 2

3

批量跳转有几种方式:

  • 做一个代码块
    @ECHO 关闭 &SETLOCAL
    :第一的
    设置/p“谈话=>”
    if /i "%talk%"=="hello" echo 你好!
    如果 /i "%talk%"=="你好吗?" echo 好的谢谢!
    如果 /i "%talk%"=="你是谁?" (
        回声我是COM。
        转到:首先
    )

  • 用 & 符号连接命令&
    @ECHO 关闭 &SETLOCAL
    :第一的
    设置/p“谈话=>”
    if /i "%talk%"=="hello" echo 你好!
    如果 /i "%talk%"=="你好吗?" echo 好的谢谢!
    如果 /i "%talk%"=="你是谁?" 回声我是COM。&goto:首先

你总是需要一个目标跳转标签,例如。:first.

于 2013-07-07T12:49:28.483 回答
0
set /p talk=">"
if /i "%talk%"=="hello" echo Hello! & goto :skip_error
if /i "%talk%"=="how are you?" echo Good thanks! & goto :skip_error
if /i "%talk%"=="who are you?" echo I am COM. & goto :skip_error
echo That statement was not recognized.
goto 1
:skip_error
于 2013-07-07T09:48:01.133 回答