Programação Básica - Linguagem Batch PDF
Programação Básica - Linguagem Batch PDF
Programação Básica - Linguagem Batch PDF
BÁSI
CA
NATANAELANTONI
OLI
F
ÁBRICADE
4
NOOBS
L
INGUAGE
M
BA
TCH
Programação Básica – Linguagem Batch
Por: Fábrica de Noobs
Índice
1) Prefácio
2) Introdução
3) Programas Recomendados
4) Navegação em Shell
a. dir
b. cd
5) Atributos
a. help
6) Exibição de Mensagens
a. echo
b. pause
c. cls
d. Comentários
7) Etiquetas e Menus
a. goto
b. choice
8) Comandos Diversos
9) Variáveis
a. set
b. Operadores
10) Tomadas de Decisão
a. if
b. else
c. Comparadores
11) Conclusão
1) Prefácio
Enfim começamos mais um curso. Dessa vez, o tema será linguagem Batch.
É uma linguagem pouco explorada, mas que está presente em qualquer edição no
Windows.
Sendo assim, a linguagem Batch pode ser útil para qualquer um que deseja
trabalhar melhor com o sistema operacional. Utilizando ela, pode-se criar rotinas
automatizadas, criar ferramentas que facilitam o uso do Prompt de Comando e até
trojans.
2) Introdução
Talvez, mesmo sem intenção, você já tenha entrado em contado com o
Prompt de Comando (ou CMD) do Windows. Ele funciona a partir de uma sintaxe,
onde pode-se inserir comandos para executar determinadas tarefas.
Apesar de não ser muito eficiente no quesito visual, pode ser uma ferramenta
poderosa para automatizar processos do Windows – ou prejudica-los. Se você se
interessa por criação de trojans, é um bom começo.
3) Programas Recomendados
Primordialmente, você precisará de uma versão do Windows para executar
arquivos em Batch. Já para sua criação, qualquer editor de texto (como o Bloco de
Notas) é válido, mas recomendo o uso de uma IDE.
4) Navegação em Shell
Por ser a linguagem de programação utilizada no CMD, é natural que muitas
de suas operações envolvam arquivos e diretórios de pastas (todas as pastas
presentes no computador). Sendo assim, é importante que primeiro possamos
aprender a manejar tais diretórios. Isso é chamado de navegação em shell.
Aqui, usaremos dois comandos principais. O dir, usado para listar todos os
arquivos de um diretório, e o cd, usado para abrí-lo.
Primeiro, inicie o CMD. O que você encontrar será mais ou menos assim :
cd diretório
Feito isso, passamos para a pasta Desktop. A partir daí, podemos rodar outro
dir e ir verificando o conteúdo dos diretórios ao mesmo tempo em que navegamos.
Vamos supor que em nosso Desktop exista uma página chamada arquivos, e
dentro dela, outra pasta chamada pessoal, de forma que queremos acessar é
última. Se quisermos acessar uma pasta dentro de outra pasta diretamente, sem
necessariamente passar por todas as suas subpastas, podemos inserir o comando
cd seguido do diretório alvo. No caso, arquivos\pessoal:
Imagine que queremos apenas voltar uma pasta atrás. No caso, indo para a
pasta arquivos. Podemos fazer isso com a seguinte sintaxe:
cd ..
cd \
5) Atributos
No capítulo anterior, aprendemos a sintaxe do comando dir. Porém, esse
comando, assim como qualquer outro, pode ser incrementado com atributos. É
praticamente impossível saber de cor todos eles. Justamente por essa razão, existe
o comando help, onde podemos obter uma lista de todos os atributos existentes. Por
exemplo, se quisermos ajuda com o comando dir, podemos digitar:
help dir
O resultado é esse, e a sintaxe serve para qualquer outro comando do CMD.
Você pode inserir esses atributos da forma como é especificado na ajuda. Por
exemplo
dir /l /d
6) Exibição de Mensagens
A partir desse momento, já passamos a criar nosso scripts para depois
executá-los. Para rodar um script em Batch, crie o código no editor de texto
preferido, salve-o com a extensão .bat e o execute.
@echo off
Esses são os únicos recursos visuais que temos. Sendo assim, é preciso
alguma criatividade para criar interfaces em Batch.
Após inserir um comando que não envolva uma pausa automática, o CMD irá
fechar. Para impedir que isso aconteça sem a confirmação do usuário (ou para evitar
que o script simplesmente continue após executar determinada ação), podemos usar
o comando pause. Assim, o tradicional “Hello world!” em Batch seria escrito dessa
forma:
Aqui, usamos @echo off para deixar a tela mais limpa, depois usamos echo
para exibir a mensagem, colocamos duas linhas em branco para deixar mais
estético, e pausamos o script. O resultado é esse:
Ao pressionarmos qualquer tecla, o CMD irá fechar, uma vez que não há mais
nenhuma linha de código abaixo do pause.
title Título
7) Etiquetas e Menus
Podemos “etiquetar” partes do nosso código com um determinado nome, e
fazer que o programa pule para a parte especificada. Sendo assim, criamos uma
etiqueta usando:
:etiqueta
O nome colocado depois dos dois pontos é o nome da etiqueta. Para fazer
com que, em determinado momento, o script pule para tal etiqueta, basta usar:
goto etiqueta
Duas etiquetas não podem ter o mesmo nome, e você pode cria-las em
qualquer lugar da página. Veja o exemplo abaixo. Não se preocupe em entender
com o menu foi construído, isso será explicado adiante. Foque apenas no uso das
etiquetas.
Note que temos 3 etiquetas: menu, cal e bloco na parte marcada em
vermelho. Se escolhermos a opção 1. Iremos para a parte marcada em amarelo, e
depois voltamos para o vermelho. Já na opção 2, vamos para o azul, e depois
voltamos novamente ao vermelho.
Perceba que, caso não colocássemos goto menu no final de cada parte, o
script simplesmente continuaria para a próxima linha, invalidando a escolha feita.
Vamos agora criar nosso próprio menu de opções. Existem duas formas de
cria-lo. A primeira delas envolve o uso do comando choice, que é a que mostrarei
agora.
echo A - Calculadora
echo B - Bloco de Notas
echo C - Paint
Agora, precisamos construir a parte do código que será responsável por ativar
cada tecla. Veja como ela fica:
123
Apenas considere um numeral ordinal para cada tecla inserida. Assim, opção
2 irá ser ativada se B for pressionado, fazendo com que o Bloco de Notas se abra.
Outra maneira é considerar que a segunda parte deve estar na ordem inversa
do menu.
A parte em roxo representa a ação a ser tomada por cada opção. No caso, ir
para a parte do código responsável pela Calculadora, pelo Bloco de Notas ou pelo
Paint.
Poderíamos ter usado outro comando (desde que coubesse em uma linha),
mas é recomendado usar as etiquetas. Assim ficaria o código final:
Particularmente, considero infinitamente mais fácil construir menus utilizando
variáveis.
8) Comandos Diversos
Como informarmos anteriormente, a linguagem Batch pode ser extremamente
útil para automatizar tarefas. Sendo assim, esse capítulo é destinado a mostrar
alguns comandos úteis para tais tarefas. Nas próximas páginas há uma lista
completa (em português – você não acha isso em qualquer lugar) dos comandos em
batch.
Caso deseja aprender mais sobre a sintaxe de algum comando, rode um help
no CMD.
Lista de Comandos para Batch/MS-DOS - Fábrica de Noobs
Comando Função
addusers Adiciona usuários com base em uma lista de um arquivo CSV
if Expressa condição
ipconfig Configura IP
label Altera o rótulo de um disco
nbtstat Exibe as estatísticas de protocolo e as conexões TCP/IP atuais que usam NBT
rd Deleta pasta
sc Service Control
:: Insere comentários
9) Variáveis
Um dos principais elementos de uma linguagem de programação são as
variáveis. E em Batch não é diferente.
Para criarmos uma nova variável usamos o comando set. Isso pode ser feito
de 3 maneiras:
set a=valor
set /a var=2+2
Aqui, a variável nome irá receber o valor que o usuário digitar na tela. “Insira
um valor” será a mensagem que vai aparecer informando ao usuário de que ele deve
digitar algo na tela.
Sempre que queremos nos referir a uma variável, seja para usá-la em uma
frase, ou fazer comparações, a escrevemos entre dois sinais de porcentagem. Por
exemplo:
echo o valor inserido é igual a %valor%
Observe o código abaixo, que pede para que um valor seja inserido e avisa
qual ele é.
@echo off
:menu
@echo off
title = Calculadora
echo A - Soma
echo B - Subtracao
echo C - Multiplicacao
echo D - Divisao
:soma
set /a result=%a% + %b%
goto rel
:sub
set /a result=%a% - %b%
goto rel
:mult
set /a result=%a% * %b%
goto rel
:div
set /a result=%A% / %b%
goto rel
:rel
echo.
echo O resultado e igual a %result%
echo.
pause
goto sair
:sair
exit
Aqui, primeiro pedimos, usando set /p, os dois valores. Depois, criamos um
menu com 4 opções. Uma vez escolhido a opção, redirecionamos para a parte do
código responsável por realizar determinada operação. Em seguida, exibimos o
resultado e encerramos o programa. Veja como ele fica no CMD:
11) Conclusão
Sendo assim, terminamos nosso curso de Batch. Agora, você já está apto a
construir programas e arquivos em lot capazes de executar tarefas do Windows. Isso
inclui ferramentas para backup, automatização de processos ou até trojans. Explore
a sintaxe dos demais comandos, faça experiências e logo perceberá que Batch é
uma linguagem poderosa.