Trata-se da utilização do comando choice seguido da variável de errorlevel (para saber o que foi retornado) , por fim utilizamos o operador condicional IF para "enviar" o código para a linha que queremos.
Veja como fazer um .Bat com opções nos passos abaixo;
Criando um arquivo de lote com opções utilizando "Choice"
Passo 1: Pressione simultaneamente as teclas "Windows + R" do seu teclado para abrir a caixa de comandos "Executar", em seguida digite "notepad.exe" (sem aspas) e pressione "Enter" para abrir o bloco de notas;
Se você fez como descrito no passo anterior, a janela do bloco de notas deverá estar aberta neste momento:
Passo 2: Agora vamos criar o nosso arquivo .Bat sem nenhum conteúdo, para isso clique no menu superior "Arquivo", selecione a opção "Salvar como..." e digite o nome que desejar seguido da extensão .bat entre aspas (Ex.: "meuarquivo.bat").
Passo 3: Agora que você salvou seu arquivo .bat podemos começar a edição do mesmo. Para começar feche tudo o que está aberto na sua tela e vá até o local que você salvou seu arquivo.
Se você tentar abrir este arquivo neste momento, provavelmente não vai acontecer nada além da exibição de um erro na sua tela, isso por que ainda não fizemos os comandos necessários para que o Windows entenda o que desejamos.
Para editar o "meuarquivo.bat" clique com o botão direito do mouse e selecione a opção "Editar";
Passo 4: Como é comum na criação de arquivos .bat, desativamos a exibição de comandos digitados com o comando "@echo off", então coloque isto na primeira linha do seu bloco de notas;
Neste caso o %errorlevel% vai retornar 3 valores sequênciais (1, 2, 3), então vamos utilizar o operador condicional IF para enviar o usuário para a opção escolhida pelo choice.
Passo 7: Dentro do seu arquivo, adicione as seguintes linhas:
Passo 8: Agora vamos criar as sessões, então iremos digitar seus nomes seguidos de dois pontos (:), como o código abaixo;
Passo 9: Dentro da sessão cancelar, digitamos apenas o comando "exit" para sair, já dentro da sessão "SIM" ou "NAO", digitamos o comando que for necessário.
Neste caso vou apenas exibir uma mensagem na tela para você entender sobre o que estou falando, veja como fica:
O resultado é o seguinte
Ao pressionar "S":
Pressione: [S]im, [N]ao ou [C]ancelar [S,N,C]?S
O usuario pressionou [S]
Pressione qualquer tecla para continuar. . .
Ao pressionar "N":
Pressione: [S]im, [N]ao ou [C]ancelar [S,N,C]?N
O usuario pressionou [N]
Pressione qualquer tecla para continuar. . .
Ao pressionar "C":
A janela fecha.
Veja como ficou nosso arquivo .bat completo
Leia Mais ►
Veja como fazer um .Bat com opções nos passos abaixo;
Criando um arquivo de lote com opções utilizando "Choice"
Passo 1: Pressione simultaneamente as teclas "Windows + R" do seu teclado para abrir a caixa de comandos "Executar", em seguida digite "notepad.exe" (sem aspas) e pressione "Enter" para abrir o bloco de notas;
Notepad.exe
Se você fez como descrito no passo anterior, a janela do bloco de notas deverá estar aberta neste momento:
Bloco de Notas
Passo 2: Agora vamos criar o nosso arquivo .Bat sem nenhum conteúdo, para isso clique no menu superior "Arquivo", selecione a opção "Salvar como..." e digite o nome que desejar seguido da extensão .bat entre aspas (Ex.: "meuarquivo.bat").
meuarquivo.bat
Passo 3: Agora que você salvou seu arquivo .bat podemos começar a edição do mesmo. Para começar feche tudo o que está aberto na sua tela e vá até o local que você salvou seu arquivo.
Se você tentar abrir este arquivo neste momento, provavelmente não vai acontecer nada além da exibição de um erro na sua tela, isso por que ainda não fizemos os comandos necessários para que o Windows entenda o que desejamos.
Para editar o "meuarquivo.bat" clique com o botão direito do mouse e selecione a opção "Editar";
Editar meuarquivo.bat
Passo 4: Como é comum na criação de arquivos .bat, desativamos a exibição de comandos digitados com o comando "@echo off", então coloque isto na primeira linha do seu bloco de notas;
@echo offPasso 6: Agora vamos definir as opções, então suponhamos que você precise de três opções "Sim", "Não" e "Cancelar", para isso digite o comando:
choice /C SNC /M "Pressione: [S]im, [N]ao ou [C]ancelar"Ou seja, com o choice /C você escolhe as letras que deverão ser pressionadas para cada opção, já com o /M você digita a mensagem que deseja exibir para o usuário entre aspas.
Neste caso o %errorlevel% vai retornar 3 valores sequênciais (1, 2, 3), então vamos utilizar o operador condicional IF para enviar o usuário para a opção escolhida pelo choice.
Passo 7: Dentro do seu arquivo, adicione as seguintes linhas:
IF errorlevel=3 goto CANCELAROu seja, se o errorlevel for igual a 3 (última opção do Choice - C) o usuário será enviado para a sessão "CANCELAR" (que ainda iremos criar), se for igual a 2 ele vai para a sessão "NAO" e 1 vai para a sessão "SIM".
IF errorlevel=2 goto NAO
IF errorlevel=1 goto SIM
Passo 8: Agora vamos criar as sessões, então iremos digitar seus nomes seguidos de dois pontos (:), como o código abaixo;
:CANCELARDeixe as linhas em branco para digitarmos os comandos dentro de cada sessão.
:SIM
:NAO
Passo 9: Dentro da sessão cancelar, digitamos apenas o comando "exit" para sair, já dentro da sessão "SIM" ou "NAO", digitamos o comando que for necessário.
Neste caso vou apenas exibir uma mensagem na tela para você entender sobre o que estou falando, veja como fica:
:CANCELARPerceba que coloquei um @pause e goto :CANCELAR ao final das linhas das sessões "SIM" e "NAO", o @pause significa que independente do que seja feito, o comando será "Pausado" naquela linha exibindo uma mensagem para o usuário pressionar qualquer tecla para continuar, quando ele fizer isto, o código será imediatamente enviado para a sessão ":CANCELAR", ou seja, terminou de executar o código não faz mais nada além do comando "Exit" (da sessão cancelar).
exit
:SIM
echo O usuario pressionou [S]
@pause
goto :CANCELAR
:NAO
echo O usuario pressionou [N]
@pause
goto :CANCELAR
O resultado é o seguinte
Ao pressionar "S":
Pressione: [S]im, [N]ao ou [C]ancelar [S,N,C]?S
O usuario pressionou [S]
Pressione qualquer tecla para continuar. . .
Ao pressionar "N":
Pressione: [S]im, [N]ao ou [C]ancelar [S,N,C]?N
O usuario pressionou [N]
Pressione qualquer tecla para continuar. . .
Ao pressionar "C":
A janela fecha.
Veja como ficou nosso arquivo .bat completo
@echo offA partir daqui você poderá editá-lo como quiser.
choice /C SNC /M "Pressione: [S]im, [N]ao ou [C]ancelar"
IF errorlevel=3 goto CANCELAR
IF errorlevel=2 goto NAO
IF errorlevel=1 goto SIM
:CANCELAR
exit
:SIM
echo O usuario pressionou [S]
@pause
goto :CANCELAR
:NAO
echo O usuario pressionou [N]
@pause
goto :CANCELAR