Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


programação básica em batch, Manuais, Projetos, Pesquisas de Análise e Design de Sistemas

programação básica em batch para estudo

Tipologia: Manuais, Projetos, Pesquisas

2019

Compartilhado em 30/08/2019

wesley-felix
wesley-felix 🇧🇷

2 documentos

1 / 21

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
LINGUAGEM
BATCH
4
NATANAEL ANTONIOLI
PROGRAMAÇÃO
BÁSICA
FÁBRICA DE
NOOBS
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15

Pré-visualização parcial do texto

Baixe programação básica em batch e outras Manuais, Projetos, Pesquisas em PDF para Análise e Design de Sistemas, somente na Docsity!

LINGUAGEM

4 BATCH

NATANAELANTONIOLI

PROGRAMAÇÃO

BÁSICA

FÁBRICADE NOOBS

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

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 : Digite dir, tecle enter e observe o que acontece. O que temos é a lista de todos arquivos do diretório em que estávamos, ou seja, do diretório C:\Users\Natanael. Observe que alguns itens possuem a sintaxe

na frente. Isso indica que eles são pastas, que podem ser acessadas. Já os que não possuem, são arquivos.

Vamos supor que queiramos acessar a pasta Desktop (essa pasta existe dentro do Windows, e corresponde a todos os arquivos presentes na sua Área de Trabalho). Para isso, utilizamos a seguinte sintaxe cd diretório Em diretório, devemos inserir a pasta que desejamos acessar. No nosso caso, seria assim: 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 .. Agora, queremos voltar diretamente para o primeiro diretório exibido na listagem, que no caso é o diretório C:. Podemos fazê-lo com: cd
Isso nos levará diretamente ao diretório-mãe.

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 Isso irá incrementar o comando, conforme os atributos selecionados. 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. A Linguagem Batch é baseada na inserção de comandos no CMD. Assim, se criarmos um arquivo em Batch contendo apenas o código dir, ele irá rodar o comando ao ser executado, e mostrará na tela qual foi o comando inserido. Porém, podemos fazer com que apareça apenas o resultado desse comando, e não sua inserção, fazemos isso adicionando o seguinte comando no início do arquivo: @echo off Com isso, reduzimos a poluição visual presente na tela. Para exibir uma mensagem, usamos o comando echo, damos um espaço e em seguida colocamos a mensagem. Já para inserirmos uma linha em branco, usamos echo.. 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. Se desejarmos apagar tudo que já foi escrito na tela, podemos usar o comando cls. Podemos dar um título para nossa janela, utilizando o comando title: title Título Também podemos fazer comentários em Batch. Iniciamos o comentário utilizando ::. 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.

O atributo /c serve para especificar as teclas que podem ser pressionadas na execução do menu. Assim, ABC significa que se teclas A, B e C forem pressionadas, irão ativar alguma opção do menu. Caso uma tecla diferente seja pressionada, o CMD emitirá um som. Agora, precisamos construir a parte do código que será responsável por ativar cada tecla. Veja como ela fica: if errorlevel==3 goto paint if errorlevel==2 goto blocodenotas if errorlevel==1 goto calc A construção dessa parte pode ser um tanto complicada. Como pode perceber, usamos if errorlevel== para realizar a comparação. Cada um dos números (3,2,1) representa as teclas pressionadas. Parece um tanto complicado associar cada número com sua tecla. Veja uma ideia para facilitar isso: 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. Nunca se esqueça de colocar os valores do menu sempre em ordem decrescente. Faça o mesmo para quantas opções houverem. 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.

endlocal Termina a localização das alterações de ambiente em um arquivo em lotes erase Deleta um ou mais arquivos eventcreate Adiciona uma mensagem no log de eventos do Windows. echo Deleta um ou mais arquivos Exibe detalhes do diretório Exibe o uso do disco Edita linha de comando, chama comandos ou altera macros Lista drivers instalados Exibe uma mensagem na tela del dir diskpart doskey driverquery fc Compara dois arquivos find Procura por uma string de texto em um arquivo findstr Procura por strings em arquivos exit Sai do CMD expand Descomprime arquivos CAB extract Descomprime arquivos CAB fsutil Utilidades de arquivo e volume ftp Protocolo para transferência de arquivos ftype Associações entre extensões de arquivos for Comando de loop forfiles Processa vários arquivos em Batch format Formata um disco gpupdate Atualiza as informações do Conjunto de Poíticas Resultante help Ajuda com comandos hostname Exibe o nome do hosting do computador getmac Exibe o endereço MAC goto Direciona a linha de código para uma etiqueta gpresult Exibe as informações do Conjunto de Poíticas Resultante ipconfig Configura IP icacls Altera permissões de arquivo ou pasta iexpress Cria um arquivo auto-extraível if Expressa condição

powercfg Configura opções de energia print Imprime arquivos de texto push Abre um diretório salvo pelo comando pushd pusdh Salva diretório rasdial Gerencia conexões RAS path Exibe o caminho do diretório de programas executáveis pathping Traça rota de pacotes de rede pause Suspende a linha de comando até pressionar uma tecla perfmon Exibe monitor de desempenho ping Testa conexão com a internet nbtstat Exibe as estatísticas de protocolo e as conexões TCP/IP atuais que usam NBT netstat Exibe as estatísticas de protocolo e as conexões TCP/IP atuais nltest Network Location Test nslookup Propriedades de rede/servidor openfiles Abre arquivos msg Envia uma mensagem msiexec Windows Installer msinfo32 Informações do sistema net Gerencia recursos de rede nertsh Configura interface de rede, firewall e relacionados mountvol Cria, exclui ou lista um ponto de montagem de volume move Move arquivos de uma pasta para outra label Altera o rótulo de um disco lodctr Atualiza os contadores do registro relacionados ao desempenho more Exibe as informações tela a tela md Cria novas pastas mklink Cria um link de diretório simbólico mode Configura um dispositivo do sistema logman Gerencia logs logoff Realiza logoff de um usuário makecab Cria arquivos CAB

wmic Comandos WMT wuauclt Windows Update xcopy Copia arquivos ou diretórios :: Insere comentários waitfor Espera ou envia um sinal wevtutitl Limpa log de eventos where Localiza e exibe arquivos em um diretório whoami Exibe o nome de usuário atual winrm Gerenciamento remoto tracert Exibe a rota para um servidor externo tree Exibe diretórios em árvore tsdiscon Disconecta uma sessão remota tskill Finaliza um processo em execução type Exibe o conteúdo de um arquivo de texto tzutil Altera o fuso-horário ver Exibe informações sobre a versão do sistema verify Verifica se os arquivos foram salvos vol Exibe informações sobre o disco atual w32tm Serviço de horário

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: Se queremos apenas fazer com que a variável assuma um valor predefinido, que não envolva uma operação matemática ou um valor digitado pelo usuário, fazemos: set a=valor Dessa forma, a variável que chamamos de a irá ser igualda a um valor qualquer, de texto ou numérico. No nosso caso, valor. Em Batch, podemos realizar as 4 operações fundamentais, com os seguintes sinais, podendo também usar os parênteses. Se quisermos que uma variável assuma o resultado de uma operação matemática, usamos o comando /a depois de set. Por exemplo: set /a var=2+ Assim, a variável var passa a valer 4. Já se desejarmos fazer com que a variável assuma um valor a ser inserido pelo usuário, podemos usar o comando /p depois de set. Por exemplo: set /p nome=Insira um valor 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:

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: 10) Tomadas de Decisão Podemos também comparar variáveis. Fazemos isso utilizando o comando if, na seguinte estrutura: Primeiro, colocamos o comando if, seguido da variável entre aspas. Depois, inserimos um comparador. Em Batch, sua sintaxe é:

Depois se inserir o comparador, inserimos o segundo valor a ser comparado (que pode ser um número ou uma variável). Em seguida, abrimos parênteses, e dentro deles, colocamos a decisão para o “se”. Depois, (na mesma linha) inserimos else, abrimos outros parênteses, e colocamos a decisão para o “se não”. Podemos colocar quantos if quisermos, e o uso do else é opcional. Se todas as condições possíveis forem colocadas nos if’s, não é necessário construir uma condição else. Veja o script abaixo: Aqui, fazemos sucessivas comparações para determinar se uma nota inserida é inválida (maior que 10), negativa (menor que 0), azul (maior ou igual a 6) ou vermelha (menor que 6). Observe que, dentro de cada parênteses, construímos um pequeno script para cada condição. Poderíamos também usar apenas o comando goto e direcionar para outra parte do código. Agora, observe esse fragmento: