Baixe o app para aproveitar ainda mais
Prévia do material em texto
Cleber Grafietti Programação para Servidores Introdução ao MS-DOS Batch Arquivo BAT • BAT é abreviação de Batch • Processamento em lote • Automatiza comandos que poderiam ser digitados na linha de comando • Criados em editor ASCII (Notepad++, Edit) • Nome de arquivos com 8 caracteres e extensão *.bat • Além dos comandos previsto para execução via prompt DOS, outros comandos também podem ser incluídos num arquivo batch Programação para Servidores - Introdução Batch2 Comandos • @echo on : habilita a apresentação dos comandos (eco do comando) no prompt na execução do BAT; • @echo off: apresenta somente o resultado da execução do comando, é o mais comum; • Echo texto: apresenta qualquer fixo ou conteúdo de uma variável Programação para Servidores - Introdução Batch3 Comandos • SET Declara uma variável se inicializa com um valor SET nome=Luana @ECHO O nome e %nome% Programação para Servidores - Introdução Batch4 Comandos Atribui um valor digitado no prompt: SET /p nome=Informe um nome @ECHO O nome informado foi %nome% Programação para Servidores - Introdução Batch5 Comandos Atribui um valor fazendo operação matemática SET /a soma=10+5 @ECHO A soma é %soma% Por ter incluído /a antes da variável soma, o DOS entende que precisa interpretar como uma operação matemática. Programação para Servidores - Introdução Batch6 Comandos O desvio condicional é tratado com IF / ELSE Para aplica-lo considere a sintaxe: IF condição ( <<comandos>> ) ELSE ( <<comandos>> ) Programação para Servidores - Introdução Batch7 Comandos Exemplo com IF / ELSE @ECHO OFF SET nome=Ana IF "%nome%"=="Ana" ( ECHO O nome dela é Ana ) ELSE ( ECHO O nome dela é %nome%! ) Programação para Servidores - Introdução Batch8 Comandos PAUSE Faz uma pausa e aguarda o usuário apertar <enter> Programação para Servidores - Introdução Batch9 Operadores Relacionais: • Igual (EQU ou ==) • Diferente (NEQ) • Menor que (LSS) • Menor ou igual a (LEQ) • Maior que (GTR) • Maior ou igual a (GEQ) • Condição negativa (NOT) Variáveis: • Definido (DEFINED [variável sem %]) • Condição negativa (NOT) Em arquivos: • Existe (EXIST) • Condição negativa (NOT) Programação para Servidores - Introdução Batch10 Operadores @ECHO OFF SET /p nome1=Informe primeiro nome SET /p nome2=Informe segundo nome IF "%nome1%" LEQ "%nome2%" ( ECHO Nome 1 menor que nome 2 ) ELSE ( ECHO Nome 1 não é menor que nome 2 ) Programação para Servidores - Introdução Batch11 Expressões Matemáticas SET /A NUMERO=10 Informe /A para considerar a variável NUMERO com um valor numérico que pode ser usado em operações matemáticas. Operadores: + adição - Subtração * Multiplicação / divisão %% módulo ou resto da divisão Programação para Servidores - Introdução Batch12 ÁREAS DE PROCESSAMENTO Goto envia o processamento para outra área A nova área precisa ter um nome e iniciar com dois pontos “:” @ECHO off SET numero=1 IF "%numero%" == "1" GOTO ExibeNumero1 ECHO Numero não é igual a 1, numero é igual a %numero% GOTO FIM :ExibeNumero1 ECHO X é igual a 1 :FIM ECHO FIM DO BATCH Programação para Servidores - Introdução Batch13 PARÂMETROS Ao executar um programa batch é possível passar alguns parâmetros que deverão ser considerados na execução do programa, como no exemplo a seguir, onde é executo o batch exibir e informado ESTACIO Programação para Servidores - Introdução Batch14 PARÂMETROS Os argumentos informados na execução do batch podem ser recuperados com “%1”, “%2” e assim por diante, como no exemplo anterior o arquivo seria somente estas duas linhas: @ECHO OFF ECHO O valor recebido foi: %1 Programação para Servidores - Introdução Batch15 DATE / TIME Num programa batch para obter a data e hora acesse as variáveis %date% e %time%, como no exemplo a seguir onde serão exibidas a data e hora atuais: echo Data atual %date% echo Hora atual %time% Programação para Servidores - Introdução Batch16 DATE / TIME Caso precise obter somente uma parte da data, basta informa a posição de início e quantos caracteres deseja copiar, exemplo: echo Dia atual %date:~0,2% echo Mes atual %date:~3,2% echo Ano atual %date:~6,4% Programação para Servidores - Introdução Batch17 DATE / TIME Se a data fosse 10/03/2015, na primeira linha do exemplo anterior seria apresentado: Dia atual 10 Pois o primeiro caractere, que neste caso é 1, está na posição zero. Então a partir de zero serão copiados 2 caracteres. A mesma regra vale para %time%. Programação para Servidores - Introdução Batch18
Compartilhar