Lingy

Como fazer processos em Batch Script?

Como fazer processos em Batch Script?

Eu fiz no passado alguns scripts em Batch, então resolvi de criar de forma meio descompromissada esse tutorial simples. Sinta-se a vontade para experimentar, testar e opinar sobre a tecnologia e sobre seus usos, e tirar dúvidas nos comentários.

Por que usar uma tecnologia velha como essa?

Os scripts em Batch realmente são uma tecnologia antiga e que foi ignorada por muito tempo pela Microsoft, tanto que diversos recursos que hoje existem no BASH e no PowerShell simplesmente não existem no Batch, como laços de repetição e coisas do tipo (ou até existem, mas apenas em sua forma mais primitiva, com aglomerados de GOTO). Então talvez você esteja pensando: “Por que eu deveria estudar uma coisa tão velha quanto scripts Batch?

A resposta é que esses scripts servem para realizar ações automatizadas, como limpeza de pastas, conversões de arquivos, liberação ou bloqueio de portas de rede e coisas do tipo, e tudo com o mínimo de interferência do usuário, o que também reduz erros humanos. Além disso, independente da versão do sistema Windows, o Batch está entre as dependências, então não é tão difícil de criar um script compatível com versões anteriores do Windows, ou adaptá-lo para versões mais modernas.

Os scripts Batch possuem outras características, possibilitando, por exemplo, a interação com o usuário, o que pode ser útil, por exemplo, em scripts que possibilitam executar mais de uma ação, como scripts para encriptar e decriptar dados, ou mesmo jogos simples (sim, você pode criar jogos rudimentares em Batch, que vão funcionar como jogos de terminal antigos em BASIC ou coisas do tipo).

O que é um Batch Script?

Um script em Batch é, em resumo, uma pilha de comandos que está dentro de um arquivo, e serão executados do início ao fim, com sua execução sendo pontualmente alterada por laços condicionais ou de controle. Sua origem vem de antes do sistema operacional MS-DOS, e resistiu à passagem do tempo até o Windows 10, mesmo com as constantes ameaças a seu papel como principal linguagem para a criação de scripts automatizados da Microsoft com linguagens como Powershell e VBScript. Sua principal vantagem é sua simplicidade, e sua principal desvantagem é o fato de ser uma linguagem arcaica.

Comandos do DOS

Assim como outras linguagens de script, o Batch Script não passa de um arquivo com um monte de comandos de terminal. Apenas isso, não existe um meio termo. Assim, podemos entender que tudo que é possível fazer via CMD, como criar pastas e arquivos, executar programas e até travar o sistema operacional, também é possível fazer com um programa Batch, e tudo que não é possível fazer via CMD também não é possível fazer via Batch (com raras exceções).

Os arquivos Batch apresentam outras vantagens, como evitar falhas por erros da parte do usuário, agilizar tarefas cotidianas e repetitivas e possibilitar a visualização de sequências complexas de comandos de configuração de ambiente para iniciantes.

Comecemos recapitulando alguns dos comandos mais básicos do sistema:

COMANDO RESULTADO ECHO Escreve na tela ECHO OFF Oculta o código executado pelo sistema ECHO ON Volta a exibir o código executado pelo sistema ECHO. Pula uma linha CLS Limpa o console START Executa outro programa PAUSE Pausa a execução do programa até que alguma tecla seja digitada REM Indica o início de um comentário que se extenderá até o final da linha

Olá, mundo!

E vamos agora ao clássico “Hello World” que a grande maioria das linguagens de programação implementa. O seu programa será assim:

echo Hello World
pause

Salve isso em um arquivo chamado Hello.bat e dê dois cliques nele.

Comecemos percebendo alguns aspectos da linguagem. Em primeiro lugar, para mensagens, não é necessário colocar aspas simples ou duplas, somente jogar ali o que você quer. Em segundo, os comandos de Batch Script não diferenciam letras maiúsculas e minúsculas (apenas em mensagens ou coisas do tipo mais específicas). E, em terceiro, provavelmente seu CMD ficou assim:

C:> echo Hello World
Hello World

Não era o nosso objetivo, afinal, o programa deveria agir ocultando esses comandos, e não simplesmente continuar listando eles na tela. Edite seu arquivo e deixe-o assim:

@echo off
echo Hello World
pause

Agora os comandos executados pelo batch vão ficar ocultos no sistema. Simples, não?

Executando o programa notepad.exe

Digamos que você queira abrir o Notepad no Windows. Como o programa notepad.exe já está dentro do PATH do sistema, você não precisa fazer nada além de executá-lo:

@echo off
rem inicializa o notepad do Windows
start notepad.exe

E aí? Gostou da aula? Conta pra mim nos comentários 😊😄

Referências

How do you rate this article?

0



Lingy
Lingy

My personal blog about technology

Publish0x Publish0x

Reward the author with $0.01 in crypto, and earn yourself as you read!

20% to author / 80% to me.
Rewards are FREE. Publish0x pays them, not you.

Page not displaying correctly?