Remova um dos sublinhados de:
set /p __options= Select an option:
para isso:
set /p _options= Select an option:
obteve o código abaixo e teve um problema.
eu tenho 3 arquivos .bat que eu quero abrir, dependendo se o usuário digita 1,2 ou 3 O problema é que sempre abre a opção 1 .. qualquer ajuda é muito apreciada
@echo off
:start
Color 8A
echo.
echo.
echo.
echo ----------------------------------------------------------
echo options:
echo (1) Create 4 Batch Files in 5mb,10mb,15mb,20mb of any type
echo (2) Create 1 file of a specific size and type
echo (3) Auto Generate a Password
echo -----------------------------------------------------------
set /p __options= Select an option:
if '%_options%'=='1' goto opt1
if '%_options%'=='2' goto opt2
if '%_options%'=='3' goto opt3
ECHO.
:opt1
call "Create 4 File Sizes.bat"
goto end
:opt2
call "Sparse File Creation.bat"
goto end
:opt3
call "Password Generator.bat"
goto end
:end
pause
exit
Sua variável é __options
, mas seu teste é em relação a _options
.
Além disso, você pode precisar lidar com o caso em que a entrada não é 1, 2 nem 3: qualquer outra entrada cairá para "opt1", que é realmente o que estava acontecendo na sua descrição, já que a variável está sendo testada não foi definido.