Por que meu comando em lote de opções sempre seleciona a primeira escolha de inteiros?

1

Eu criei um menu simples de opções de números como o seguinte:

@echo off
CLS
:MENU
ECHO.
ECHO ...............................................
ECHO PRESS 1, 2 OR 3 to select your task, or 4 to EXIT.
ECHO ...............................................
ECHO.
ECHO 1 - Open MSOFFICE 2007
ECHO 2 - Open MSOFFICE 2010

CHOICE /N /T 10 /D 1 /C 12 /M "Press 1 for MSOFFICE 2007 or 2 for MSOFFICE2010 
Default is 1"
IF ERRORLEVEL==1 GOTO OFFICE2007
IF ERRORLEVEL==2 GOTO OFFICE2010

:OFFICE2010
C:\MSOFFICE2010.TXT

:OFFICE2007
C:\MSOFFICE2007.TXT

Meu problema é que quando eu pressiono a opção "2", ele abre o arquivo de escolha "1"

O que estou fazendo de errado?

    
por Maria Georgali 31.08.2017 / 11:53

1 resposta

0

Você esqueceu de adicionar "%" antes e depois de ERRORLEVEL:

SE % ERRORLEVEL% == 1 GOTO OFFICE2007 etc ...

E você precisa adicionar goto :EOF em sua seção OFFICE2010, caso contrário você executará ambos os arquivos.

:OFFICE2010
C:\MSOFFICE2010.TXT
goto :EOF

:OFFICE2007
C:\MSOFFICE2007.TXT
    
por 31.08.2017 / 12:36