Comandos Fundamentais para Scripts Batch no Windows

O scripting batch no Windows envolve a criação de arquivos com extensão .bat ou .cmd, que executam uma sequência de comandos de forma automatizada. Estes scripts são úteis para tarefas repetitivas e administração de sistemas.

Comandos Básicos Internos

Ao iniciar um script, é comum desativar a exibição de comandos para manter a saída limpa. O operador @ suprime a exibição do comando atual, enquanto echo off desativa a exibição para todos os comandos subsequentes.

@echo off
echo Olá, este é um script batch simples!
pause

Este snippet exibe uma mensagem e aguarda a entrada do usuário antes de fechar.

Comandos Essenciais

  • REM e ::: Usados para comentários. :: é mais conciso, mas pode falhar em contextos específicos.
  • ECHO: Exibe mensagens ou controla a exibição de comandos. Use echo. para imprimir uma linha em branco.
  • PAUSE: Interrompe a execução e exibe uma mensagem padrão. Para personalizar, use echo Mensagem & pause > nul.
  • IF: Condições baseadas em erros, comparações de strings ou existência de arquivos. Exemplo: if exist "arquivo.txt" echo O arquivo existe.
  • GOTO: Desvia a execução para um rótulo definido por :nome_rotulo.
  • FOR: Itera sobre conjuntos de dados. Suporta parâmetros como /d para diretórios, /r para recursão, /l para sequências numéricas e /f para análise de arquivos.

Símbolos Especiais

Símbolos como > e >> são usados para redirecionamento de saída, onde > sobrescreve e >> adiciona ao arquivo. O caractere | canaliza a saída de um comando para outro, e ^ escapa símbolos especiais.

@echo off
dir > lista.txt
echo Nova linha >> lista.txt

Neste exemplo, o comando dir é redirecionado para um arquivo, e uma nova linha é adicionada.

Trabalhando com Variáveis

Variáveis no batch podem ser do sistema ou definidas pelo usuário. Variáveis do sistema, como %CD% ou %USERNAME%, são predefinidas. Variáveis personalizadas são criadas com o comando set.

@echo off
set nome=Maria
echo Olá, %nome%!
set /p entrada=Digite algo:
echo Você digitou: %entrada%

O comando set /p permite entrada interativa do usuário.

Operações com Variáveis

O comando set /a realiza operações aritméticas. Por exemplo, set /a resultado=5+3 armazena 8 na variável resultado. Para substituição de strings, use %var:antigo=novo%.

@echo off
set texto=exemplo
set novo=%texto:x=y%
echo %novo%

Isso substitui "x" por "y" na variável, resultando em "eyemplo".

Laços e Estruturas de Controle

O comando FOR /L gera sequências numéricas. Por exemplo, iterar de 1 a 5:

@echo off
for /l %%i in (1,1,5) do echo Número: %%i

Para processar arquivos, use FOR /F para ler conteúdo linha por linha, com opções de delimitadores e tokens.

@echo off
for /f "tokens=1,2 delims=," %%a in (dados.csv) do echo %%a - %%b

Este exemplo processa um arquivo CSV, dividindo cada linha por vírgulas.

Conceitos Avançados

Atrasos podem ser implementados com ping ou laços simples. Para chamar outros scripts, use CALL. Rótulos definidos com :nome permitem desvios estruturados.

@echo off
call :subrotina argumento
echo Continuação...
goto :fim

:subrotina
echo Executando subrotina com %1
goto :eof

:fim

Sub-rotinas melhoram a organização do código, permitindo modularidade.

Tags: batch-scripting windows-commands cmd for-loop variables

Publicado em 6-22 04:02