Estrutura de dados Arquivos de lote no Windows

   O arquivo de lote é usado para automatizar tarefas rotineiras,
 tal arquivo contem arquivos de comandos do sistema operacional.

Comandos básicos
 
echo off / on => Liga ou desliga o eco dos comandos ou exibe mensagens.
echo. => Pula uma linha.
echo texto => Exibe o texto em tela.
cls => Limpa o terminal.
dir => Exibe arquivos e diretórios.
pause => Pausa o precessamento de um programa de lote.
set => Exibe, define ou remove variáveis do ambiente do modo texto do Windows.
set /p => A opção /p define o valor para uma variável, em uma linha de entrada.
>  ou  >> => Redirecionamento da saída , pode ser para criar arquivo, incrementa-lo ou impressora.
%número  %1  %2  %3 => Recebe um valor externo, passado por parâmetro, no prompt de comando.

Exemplo de arquivos:

1) Exibe o diretório corrente 2) Cria uma pasta "backup" e copia o arquivo p1.bat para dentro dela. 3) Recebe um parâmetro e verifica se o arquivo existe.
echo off
cls
echo.
echo Mostra o diretorio
dir /p
pause
echo off
cls
echo.
echo copia o arquivo p1
echo.
mkdir backup
copy p1.bat c:\backup
echo.
echo Arquivo copiado
echo off
cls
if not exist %1.txt goto erro
goto certo

:erro
echo arquivo nao existe
goto fim

:certo
echo arquivo existe
goto fim

:fim
echo ...........................
echo  Fim da procura
echo ...........................

 No programa 3 acima temos o uso do IF e do GOTO.
O IF ira verificar se o arquivo não existe, se não existir (true), irá fazer o desvio para o rótulo indicado no comando GOTO.
O comando GOTO é usado para fazer o desvio de fluxo de programa.




    

Usando variáveis

    Definindo variáveis
  • set string = valor
  • set /p "email=>"
  • set opcao=%opcao:~0,1%
  • set a = 10; (define variável a com valor igual a 10).
    Descrição
  • A String recebe o valor
  • A variável email recebe o valor pelo teclado, e tem o prompt   >
  • A variável opção recebe o valor pelo teclado.
  • set a = 10   A variável a recebe o valor 10.
Exemplo
rem Entrando com dados pelo teclado
echo Entre com o nome
set /p "nome=>"
echo.
echo Nome : %nome%

Aplicativos com arquivos de Lote

Após a execução do comando de procura
Estando no Raiz do sistema operacional (Windows).
dir javac.* /s
Este irá devolver o endereço de onde está instalado o Java.
Exemplo:
"c:\Program Files\Java\jdk1.8.0_121\bin"

Criando um arquivo de lote para configurar o Java, para ser utilizado com um ícone
na área de trabalho do Windows.

Rem CONFIGURA O JAVA NO AMBIENTE WINDOWS
echo off
title Meu Java
set path=%path%;"c:\Program Files\Java\jdk1.8.0_121\bin";
set classpath=
prompt $s$c$t$f$s$s$c$p$f$_$g
color 70
cls
call cmd

=============================================================================================
    CRIANDO UM ARQUIVO DE LOTE PARA COMPILAR O PROGRAMA FEITO EM JAVA
=============================================================================================

Rem COMPILA O JAVA NO AMBIENTE TEXTO DO WINDOWS
echo off
cls
echo Compilador java
javac %1.java
if not exist %1.class (goto erro) else (goto certo)

:erro
echo Arquivo contem erros e nao
echo foi compilado
goto fim

:certo
dir *.class

:fim

Criando um arquivo de lote para configurar um ambiente em Python ou em Java, apartir
de um pendrive, com o Python e o Java já instalados no pendrive.

echo off
title Portable do professor Jorge Maestre Carvalho
color f0
cls
set drive=%~d0
set l=%systemroot%
rem ----------------------------------------------------------------------
rem  Decisao para configurar o Python ou o Java
rem ----------------------------------------------------------------------
echo ESCOLHA 1- Python OU 2- Java
set/p "entrada=>"
echo.
if %entrada% EQU 1 ( goto python 
) else ( goto java
)
rem ----------------------------------------------------------------------
rem  CONFIGURANDO O PYTHON NA MÁQUINA
rem ----------------------------------------------------------------------
:python
path=%drive%\Documents\Python38-32;%l%\System32
echo ====================================================
echo Drive = %drive%
echo Path da maquina = %path%
echo ====================================================
echo.
echo  O Python esta configurado
echo.
echo ====================================================
cd\
chcp 1252
cd \Documentos\Codigos\codigos em python\Fontes
prompt $p$b$_$g
call cmd
goto fim

rem ----------------------------------------------------------------------
rem  CONFIGURANDO O JAVA NA MÁQUINA
rem ----------------------------------------------------------------------
:java
path=%drive%\Documents\jdk1.8.0_131\bin;%l%\System32
set classpath=
echo =====================================================================
echo Drive = %drive%
echo Path da maquina = %path%
echo =====================================================================
echo.
echo  O java esta configurado
echo.
echo =====================================================================
cd\
chcp 1252
cd %drive%\Documentos\Codigos\codigos em java
prompt $p$b$_$g
set texto=JAVA
call cmd
goto fim

:fim
echo =====================================================================
echo  CONFIGURACOES EM %texto% ESTAO PRONTAS 
echo =====================================================================