2013-07-07 2 views
1

Можно ли использовать goto сразу после эха, не создавая новую строку?Команда 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 

я могу сделать так, что он идет на старт после того, как вторит одна из линий ответа, и если вы misstype он говорит: «Это заявление не было признано.» и goto 1?

ответ

3

Есть несколько способов, чтобы прыгать в пакетном режиме:

  • сделать блок кода
 
    @ECHO OFF &SETLOCAL 
    :first 
    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. 
     goto:first 
    ) 

  • соединяющих команды с амперсандом &
 
    @ECHO OFF &SETLOCAL 
    :first 
    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. &goto:first 

Вам всегда нужна метка перехода к цели, например. :first.

+0

так что если вы положите & останавливаете эхо? –

+0

проверял и работал! Благодаря! –

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 
Смежные вопросы