Olá galera do blog.
Uma boa parte das perguntas que chegam no blog, estão relacionadas a batch script, por isso decidi falar mais aprofundadamente sobre este assunto que tanto interessa aos meus leitores.
Antes de iniciar seus estudos deste artigo, é recomendado a leitura desdes artigos anteriores, caso você seja um iniciante em batch script
Dominando o MS-DOS parte 1
Dominando o MS-DOS parte 2
Arquivos em lotes parte avançada
O assunto hoje será "menu selecionável", desta maneira podemos separar um script em lotes, e executar somente uma parte dele mediante a uma seleção do usuário. No exemplo, colocarei 3 opções para que o usuário possa escolher qual parte do script deseja executar:
Abra o bloco de notas e digite os comandos abaixo:
:INICIO
cls
echo 1 - Apenas limpeza de temporarios
echo 2 - Verificar integridade do sistema e software mal-intecionados
echo 3 - Sair do script
choice /C 123 /M "escolha a opcao desejada"
IF errorlevel=3 gotoSAIR
IF errorlevel=2 goto INTEGRIDADE
IF errorlevel=1 goto TEMP
:SAIR
echo Saindo....
pause
exit
:INTEGRIDADE
echo Verificando integridade do sistema
sfc /scannow
echo concluido
goto INICIO
:TEMP
echo Limpeza de temporários
cd /
erase /s /q *.tmp
echo finalizado
goto INICIO
,
Salve o arquivo como "manutenção.bat"
Explicação:
Os lotes são separados com os nomes ":INICIO" ":SAIR" ":INTEGRIDADE" e ":TEMP"
Os comandos "echo" exibem mensagens na tela, dando as instruções ao usuário que executar o script.
O comando "choice" significa "escolha" e deve ser escrito com as opções, no exemplo acima, usei 1,2 e 3, mas poderia usar A,B e C, etc..
Assim que o usuário escolher a opção, o sistema verifica os " IF ERRORLEVEL" e traduz qual parte do script deve ser iniciado usando o "GOTO", que em português significa '"ir para"
O Sistema localiza o inicio do lote a ser executado pelo nome que vem após o GOTO e pelo ":"
Notem que no fim de cada lote, existe um "GOTO INICIO" fazendo retornar ao lote do menu inicial
Nenhum comentário:
Postar um comentário
Obrigado por comentar, será publicado em breve!