Como colocar opções em arquivos .BAT

Tutorial mostra como colocar opções (menus) em arquivos .BAT.

Para você que sempre cria arquivos .bat (Batch ou arquivos de lote) para automatizar comandos no seu Windows, seria ideal ter a possibilidade de colocar opções para executar determinadas funções, não é mesmo? Pois bem, saiba que isso é possível e bem mais fácil do que você possa imaginar.

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;

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 off

Passo 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 CANCELAR
IF errorlevel=2 goto NAO
IF errorlevel=1 goto SIM

Ou 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”.

Passo 8: Agora vamos criar as sessões, então iremos digitar seus nomes seguidos de dois pontos (:), como o código abaixo;

:CANCELAR

:SIM

:NAO

Deixe as linhas em branco para digitarmos os comandos dentro de cada sessão.

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:

:CANCELAR
exit
:SIM
echo O usuario pressionou [S]
@pause
goto :CANCELAR
:NAO
echo O usuario pressionou [N]
@pause
goto :CANCELAR

Perceba 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).

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 off
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

A partir daqui você poderá editá-lo como quiser.

 

 

http://www.todoespacoonline.com/post.php?id=1929

Deixe um comentário