Neste artigo, vou demonstrar com criar um arquivo BAT com mais de um menu, ou seja, um menu com opções que chama outro menu com mais opções.
Para não estender muito este artigo, nos próximos demonstrarei como deixar bem estruturado o código-fonte e quais programas indico para escrever o código com esta finalidade.
No fim deste artigo tem o link do repositório deste artigo caso queiram utilizar como base.
Criando um arquivo BAT com mais de um menu
Para iniciar, abra o bloco de notas. Você pode abrir pressionando as teclas de atalho “Windows R” ou também clicando com o botão direito do mouse em cima da logo do Windows na barra de tarefas e em seguida clicando com o botão esquerdo em executar. Na janela “Executar” que abrirá, digite notepad e pressione a tecla <enter>.
Ao abrir o bloco de notas, digite o primeiro bloco de código como no exemplo abaixo.
O comando CLS limpará a tela do prompt de comando, ECHO mostrará na tela o que está na mesma linha ou servirá para pular linha caso não digite nada após o comando.
A instrução %USERNAME% mostrará o usuário que está logado no PC e DATE /T mostrará a data atual. No comando COLOR, o valor 71, indica que o primeiro número é a cor do fundo do “Prompt de Comando” e o segundo número é a cor da fonte.
Agora, a instrução :MENU1 é um ponto de interseção, que quando em conjunto com o comando GOTO, levará o programa para este ponto indicado.
Como explicado, utilizaremos o comando echo para criar o menu no “Prompt de Comando”.
Na imagem acima, note que a palavra “Opção” foi digitada de forma incorreta, pois na linha de comando não pode-se utilizar a letra “c cedilha” e nem acentuação, mas aqui não vai interferir na execução, só mostrará caracteres especiais no lugar desta duas letras.
A seguir, crie a variável com o comando SET, onde aqui foi utilizado o nome “opcao” que é referenciada entre o caractere %, ficando %opcao% e /P é para aguardar a opção ser digitada.
Logo abaixo teremos o trecho de condição utilizando o comando IF. A instrução EQU significa que deve apenas equivaler àquele número da opção do menu e a instrução GEQ significa que se digitar um número ou maior a ele, levará a execução de outra opção.
Então, literalmente, a primeira linha das condições significa “Se digitar exatamente o número 1 vai para o trecho do código que é referenciado por opcao1“, já na quarta linha das condições significa “Se digitar o número 4 ou maior que ele vai para o ponto de interseção referenciado pela opcao4“.
Abaixo daquele trecho, iremos digitar as linhas selecionadas conforme a imagem logo abaixo.
Repare na imagem que existem dois pontos de interseção, que são :MENU2 e :OPCAO1.
Aqui já iremos utilizar a primeira condição do trecho anterior que, ao digitar o número 1, levará para a posição do código “opcao1”.
Repare que, sempre que for colocar uma interseção no código, deverá conter o caractere : (dois pontos), ficando :OPCAO1. Na linha seguinte foi utilizado o comando CLS que limpará a tela para aparecer o novo menu que se refere a opção UTILITARIOS do menu principal e também foi criado com o comando ECHO para mostrar na tela.
Como no menu anterior, o procedimento de criação é o mesmo, mudando apenas as variáveis. Na definição da variável com o comando SET ficou como OPC.
Lembrando que, se os menus contiverem variáveis iguais ou algum comando digitado incorretamente, o arquivo BAT não iniciará.
No trecho de código do menu a seguir, os pontos de interseção são outros nomes :MENU3 e OPCAO2.
Neste outro menu, o procedimento de criação é igual, mudando as variáveis e também os nomes no menu.
Se reparar no primeiro menu, têm três opções que são 1. UTILITARIOS, 2. INTERNET e 3. SAIR.
Se digitarmos o número 1 apertando em seguida a tecla <enter>, vai abrir o segundo menu, se optarmos pelo número 2, será direcionado para o terceiro menu.
Agora aqui entra o trecho de código para a opção 3, que como é para sair do aplicativo, será colocado apenas o comando EXIT, que sairá do programa, fechando a janela do “Prompt de Comando”.
A próxima opção é referente a condição da variável OPCAO4. Como mencionado no primeiro trecho do código, se digitar o número 4 ou maior, aparecerá a mensagem da opção inválida.
O comando PAUSE aguardará o usuário pressionar uma tecla para, então, ir para a linha seguinte do código GOTO MENU1, que retornará para a linha de interseção que está iniciada com os : (DOIS PONTOS) antes da variável.
Se escolhermos a opção 1, abrirá o menu de UTILITARIOS, aparecerá um menu com 4 opções.
A variável deste menu é o OPC, que está definido no comando SET do trecho deste menu, seguido das condições quando digitar o número da utilitário desejado.
Aqui foram colocados alguns exemplos, então no caso de escolher a opção 1, abrirá a calculadora com o nome do executável do aplicativo que é CALC.
Como é um aplicativo do sistema, não tem a necessidade de colocar a extensão “.exe”.0
Ao fechar a calculadora, permanecerá aberto o arquivo “.bat” aguardando o usuário clicar qualquer tecla para retornar ao menu de utilitários com o comando GOTO MENU2, retornando a executar a partir ponto de interseção :MENU2.
Da mesma forma funciona para a opção 2, que o comando para a execução do programa é EXPLORER, na opção 3 o executável do Paint é MSPAINT, já na opção 4 que é para voltar ao menu principal, só necessita digitar o comando GOTO MENU1, que retornará para a execução a partir da linha GOTO MENU1.
E se digitar o número 5 ou posterior aparecerá a mensagem de “Opcao invalida” e, ao pressionar qualquer tecla, retornará para o mesmo menu.
E no menu 3 que se refere a INTERNET, o procedimento é o mesmo que o anterior onde quando fechar cada aplicativo e pressionar qualquer tecla, retornará para o mesmo menu, exceto a opção 3 será direcionado para o menu principal.
E não esquecer que a variável OP foi definida também no trecho do código do terceiro menu. Note aqui que como o “Google Chrome” não é um programa nativo, foi utilizado o comando START seguido do nome do executável do programa para iniciar o aplicativo.
Como salvar o arquivo .BAT
Terminado de criar o arquivo .bat, iremos salvá-lo. Para isso clicaremos no menu “Arquivo” e depois em “Salvar Como”.
Abrirá a janela para escolher o local onde quer salvar. Para não salvar como arquivo de texto, no campo referente ao “Tipo”, deixaremos selecionada a opção “Todos os arquivos (*.*)” e em seguida colocaremos o nome do arquivo com a extensão “.bat” e então clicaremos em “Salvar”.
Se quiser salvar enquanto faz o aplicativo, é só fazer conforme foi feito aqui no final e depois ir clicando nas teclas de atalho “ctrl+s” para ir salvando as atualizações.
Agora, pelo Explorer, dando um duplo clique no arquivo criado, irá abri-lo no “Prompt de Comando” com as cores aplicadas lá no início do script.
Repare que, como eu havia mencionado no início deste artigo, digitei OPÇÃO ao invés de OPCAO.
Ao escolher a opção 1, abriu o menu de utilitários e ao escolher alguma opção deste menu abrirá o aplicativo desejado.
Como mencionado no início deste artigo, para fazer o download deste arquivo de exemplo, clique aqui.
Espero que este artigo ajude você a criar seus arquivos BAT para facilitar seu dia a dia em manutenções e automações de tarefas no sistema operacional Windows.
3 Comentários
Bom de mais o post, salvou.
Parabéns pelo conteúdo Luciano.👏👏👏
Bom dia Toti!
Obrigado pelo comentário.
Ola, tudo bem?
Gostaria de saber se é possível eu criar um SubMenu dentro do menu.
Exemplo:
@ECHO OFF
:menu1
cls
color 80
echo MENU TAREFAS
echo ================================
echo 1 exibir mensagem na tela TESTE *
echo 2 abri sub menu *
echo =================================
set /p opcao= Escolha uma opcao:
echo ——————————
if %opcao% equ 1 goto opcao1
else
if %opcao% equi 2 goto option2
:opcao1
cls
echo Mensagem de TESTE
pause
goto menu
:opcao2
:menu2
color 80
echo MENU TAREFAS IMPRESSORAS
echo ===================================================
Quando a pessoa selecionasse *instalar impressoras*
automaticamente abrisse outro menu semelhante ao primeiro com todas as impressoras, apenas para selecionar a opção e começar a instalar, e uma outra opção de voltar para o menu anterior. Minha maior dificuldade ta sendo mesmo em criar esse segundo menu de escolha.
Poderia me ajudar?
Desde já Agradeço.