You are on page 1of 6

Batch

Origem: Wikipdia, a enciclopdia livre.

Batch ou arquivo de lote (tambm conhecidos por .bat) um arquivo de computador utilizado para automatizar tarefas. regularmente confundido com o modo de processamento de dados no qual os mesmos so processados em grupos, ou lotes, atravs de uma rotina agendada. O batch neste caso, nada mais um conjunto de comandos rodados sequencialmente. Podemos compar-lo, a grosso modo, aos scripts do Unix. Criado para o MS-DOS, o batch foi utilizado para preparar o sistema operacional execuo de outros programas. Por exemplo: o EMM386 que habilitava o uso da memria expandida (alm dos 640K). Alguns tcnicos de informtica utilizam deste recurso para facilitar a instalao do sistema operacional da Microsoft (Windows) utilizando um disco de boot. Este tipo de arquivo pode ser muito perigoso, pois capaz de danificar o sistema operacional sem o conhecimento do usurio, enchendo o disco rgido, desconfigurando a inicializao do sistema, dentre outros males. Por isso, recomendado executar jobs batch conhecidos. No Windows, estes arquivos podem ser facilmente editados clicando com o boto direito do mouse e selecionando Editar. Voc pode fazer um utilizando apenas o bloco de notas do Windows. No arquivo, cada linha um comando diferente do MS-DOS. Para funcionar necessrio salvar o arquivo com a extenso .bat (Por exemplo: nome do arquivo.bat ).

ndice
1 Comandos 2 Condies 2.1 Caracteres 2.2 Numricas 2.3 Arquivos 3 Exemplos 3.1 Shutdown 3.2 X igual a 1? 4 Ver tambm

Comandos
Aqui esto, alguns comandos utilizados em jobs batch. Se voc tiver dvida de algum digite no Prompt de comando: comando/?. Outro modo de v-los digitando h e l pno Prompt de Comando.
E C H O[ m e n s a g e mo uv a r i v e l ]

Escreve na tela ECHO OFF

Desactiva as informaes e confirmaes feitas pelo sistema. Como "C:>", "Tem a certeza que deseja fazer tal?"... ECHO ON Activa as informaes e confirmaes do sistema. ECHO. Salta uma linha
S E Tv a r i a v e l = v a l o r

Cria ou modifica uma varivel (espao reservado temporariamente na memria RAM para guardar algumas informaes nmericas, de caracteres, positivo/negativo entre outros. No podem ter acento e devem comear com letra). Para chamar a varivel posteriormente basta coloc-la entre "%". Por exemplo:
S E Tn o m e = J o o E C H OOn o m ed e l e% n o m e %

: n o m e d o l i n k

Nomeia um ponto do arquivo de lote permitindo avanar ou voltar execuo a partir daquele ponto. CLS Este comando limpa todo o ecr. CLear Screen. @[Comando] Desactiva as informaes e confirmaes feitas pelo sistema apenas para esta linha.
I F[ c o n d i o ]( [ a c o ] )E L S E( [ a c o 2 ] )

Este um comando condicional. "Se condio fazer aco, seno fazer aco2". Por exemplo
@ E C H OO F F S E Tn o m e = A n a I F" % n o m e % " = = " A n a "( E C H OO iA n i n h a ! )E L S E( E C H OO i% n o m e % ! )

G O T O[ p o n t o ]

Avana ou volta a execuo para um ponto do arquivo de lote.


F O R/ L% % v a r i a v e lI N( i n c i o , i n c r e m e n t o , f i m )D Oc o m a n d o[ p a r m e t r o ]

Repete um comando vrias vezes fazendo incrementaes at o fim ser atingido. /L, uma opo do comando FOR que faz as iteraces %%variavel, o nome da varivel que vai ser incrementada incio, o valor de incio da varivel que ser incrementada incremento, nmero que ser somado a cada iteraco fim, a repetio ir acabar quando o valor da varivel atingir este valor comando, um comando que ser repetido [parmetro] , o parmetro do comando que ser repetido Por exemplo
@ E C H OO F F F O R/ L% % aI N( 1 , 1 , 5 )D OE C H OOv a l o rd eA% % a

PAUSE Faz uma pausa e s volta quando o utilizador premir alguma tecla do teclado.
R E M[ c o m e n t r i o ]

Este comando no faz absolutamente nada. Ele utilizado para inserir comentrios nos arquivos. Todos aqui listados so comandos de MS-DOS que foram criados especificamente para arquivos de lote. Se voc precisar de mais detalhes sobre cada um deles basta digitar no MS-DOS (ou no prompt de comando do Windows) help Todos comandos de MS-DOS tambm entram nesta lista incluindo chamadas de outros programas para este sistema.

Condies
Numricas e Caracteres: Igual (EQU ou ==) Diferente (NEQ) Menor que (LSS) Menor ou igual a (LEQ) Maior que (GTR) Maior ou igual a (GEQ) Condio negativa (NOT) Variveis: Definido (DEFINED [varivel sem %]) Condio negativa (NOT) Em arquivos: Existe (EXIST) Condio negativa (NOT)

Os smbolos acima vm das seguntes fontes:


E Q Uv e md ap a l a v r ai n g l e s aE Q U a l s( I g u a l ) . N E Qv e md ap a l a v r ai n g l e s aN o tE Q u a l s( N o I g u a l ,d i f e r e n t e ) L S Sv e md ap a l a v r ai n g l e s aL e S S( M e n o r ) L E Qv e md ap a l a v r ai n g l e s aL e s so rE Q u a l s( M e n o ro uI g u a l ) G T Rv e md ap a l a v r ai n g l e s aG r e a T e R( M a i o r ) G E Qv e md ap a l a v r ai n g l e s aG r e a t e ro rE Q u a l s( M a i o ro uI g u a l ) N O Tu m ap a l a v r ai n g l e s aq u es i g n i f i c aN o D E F I N E Du m ap a l a v r ai n g l e s aq u es i g n i f i c aD e f i n i d o E X I S Tu m ap a l a v r ai n g l e s aq u es i g n i f i c aE x i s t e

Caracteres
As condies numricas e de caracteres so iguais, porm avaliam de maneira diferente. Por exemplo, se compararmos "Ana" com Danielle na condio LEQ (Menor ou igual), ser avaliado o tamanho. "Ana" tem 3 letras e "Danielle" tem 8. Ento "Danielle" maior que "Ana" e a condio positiva. Veja como ficaria:
@ E C H OO F F S E Tn o m e 1 = A n a S E Tn o m e 2 = D a n i e l l e R E MOr e s u l t a d od ac o n d i oa b a i x os e r p o s i t i v o I F" % n o m e 1 % "L E Q" % n o m e 2 % "(E C H OP o s i t i v o)E L S E(E C H ON e g a t i v o)

Numricas
Nas condies numricas no h mistrio, as duas nicas diferenas entre as condies numricas e de caracteres que nas numricas so avaliados os nmeros, no o tamanho, e que voc no usa aspas. Vamos supor que a Ana tem 23 anos e que a Danielle tem 19. Se compararmos as suas idades respectivamente usando LSS (Menor que) o resultado ser negativo. Veja como ficaria:
@ E C H OO F F S E Ta n a = 2 3 S E Td a n i e l l e = 1 9 R E MOr e s u l t a d od ac o n d i oa b a i x os e r n e g a t i v o I F% a n a %L S S% d a n i e l l e %(E C H OP o s i t i v o)E L S E(E C H ON e g a t i v o)

E L S E(E C H ON e g a t i v o)

Arquivos
A condio EXIST verifica se existe algum arquivo. Por exemplo, se existir o arquivo "exemplo.bat " o resultado ser positivo, seno negativo. Veja como ficaria:
@ E C H OO F F I FE X I S Te x e m p l o . b a t(E C H OP o s i t i v o)E L S E(E C H ON e g a t i v o)

Esta condio no para por a. No sistema MS-DOS, voc pode fazer uma "pesquisa" na pasta em que est por um arquivo digitando parte dele. Voc usa "*" para indicar a(s) parte(s) que voc no sabe. Por exemplo, se existir algum arquivo com a extenso ".bat " na pasta atual o resultado ser positivo, seno negativo. Veja como ficaria:

@ E C H OO F F I FE X I S T* . b a t( E C H OP o s i t i v o)E L S E(E C H ON e g a t i v o)

Exemplos
Shutdown
Existe tambm o comando S h u t d o w nque usado para desligar ou reiniciar o computador. Exemplo: S h u t d o w nst2 , que nesse caso serve pra desligar o computador 2 segundos aps o comando ter sido executado. O Shutdown pode ser usado criando um arquivo no formato .bat , atravs do "Executar" ou do Prompt de comando. Parametros
s :desliga o

computador (s hutdown) h :hiberna o computador (hibernate) r :reinicia o computador (reboot) a :aborta o processo de desligamento/reiniciamento do computador (abort) t :Tempo em que o computador ser desligado aps o comando ter sido executado. Esse parametro adicional, e se no for colocado, o comando ser executado na hora. O tempo deve ser colocado em segundos, ento, se quiser que computador desligue em 1 minuto, ser necessrio colocar s h u t d o w ns t6 0 . (time) f :Fora o incio do comando. Este parametro tambm adicional. (force) c :Escreve uma mensagem na tela que aparece. Exemplo: S h u t d o w nrtc" M e n s a g e m a q u i . " . Assim como os outro dois, este parametro tambm adicional

X igual a 1?
@ E C H Oo f f C L S S E TX = 1 I F" % X % "= =" 1 "G O T Oo k E C H OXn oi g u a la1 ,Xi g u a la% X % G O T Os a i d a : o k E C H OXi g u a la1 : s a i d a

Na primeira linha. O "@" indica que no para aparecer o comando que segue, no caso, "ECHO" (Comando que escreve na janela). Nesta linha, eu estou grosseiramente mandando o MS-DOS calar a boca (no falar nada sem eu mandar), pois se ECHO faz o computador "falar", ECHO OFF faz o computador "desligar 'a ao de falar' " e com o @ no comeo da linha, ele nem vai informar o utilizador que est parando de falar; Na segunda linha, o comando CLS faz o MS-DOS apagar todo o ecr; Na terceira linha, como j foi explicado, faz a varivel X=1; Na quarta linha, uma linha condicional. Se "X" for igual 1 v para "ok"; Na quinta linha, bvio que X no vai ser igual a 1, ento o MS-DOS vai "falar" X no igual a 1, X igual a [valor de x] ; Na sexta linha, ele ir para o ponto "saida" porque o resto feito se X for igual a 1; Na stima linha, est sendo definido o ponto "ok", aquele ponto citado na quarta linha;

Na oitava linha, X ser igua a 1, ento o MS-DOS vai dizer X igual a 1; E na nona linha, definido o ponto-final do processamento. Que chamado na sexta linha, nada mais que isso, ento o MS-DOS entende que o job batch concluiu.

Ver tambm
Bash MS-DOS Shell script Windows PowerShell Obtida de "http://pt.wikipedia.org/w/index.php?title=Batch&oldid=36661721" Categoria: Linguagens de script Esta pgina foi modificada pela ltima vez (s) 18h38min de 13 de agosto de 2013. Este texto disponibilizado nos termos da licena Atribuio-Partilha nos Mesmos Termos 3.0 no Adaptada (CC BY-SA 3.0); pode estar sujeito a condies adicionais. Consulte as condies de uso para mais detalhes.

You might also like