Como escrever um script de lote no Windows

Você sabe como usar o Prompt de Comando? Se você fizer isso, poderá gravar um arquivo em lote. Em sua forma mais simples, um arquivo em lote (ou script em lote) é uma lista de vários comandos que são executados quando você clica duas vezes no arquivo. Os arquivos em lote remontam ao DOS , mas ainda funcionam nas versões modernas do Windows.

Scripts PowerShell e scripts Bash podem ser mais poderosos, mas os arquivos em lote ainda podem ser muito úteis se você precisar executar comandos básicos do Windows.

Fundamentos do arquivo de lote

Um arquivo em lote é simplesmente um arquivo de texto salvo com a extensão de arquivo .bat. Você pode escrever um usando o Bloco de notas ou um editor de texto mais avançado como o Notepad ++ , mas não use um processador de texto como o Microsoft Word.

Vamos criar um arquivo em lote simples. Primeiro, abra o Bloco de Notas. Digite as seguintes linhas nele:

ECHO OFF
ECHO Hello World
PAUSA

Em seguida, salve o arquivo clicando em Arquivo> Salvar. Dê a ele o nome que desejar, mas substitua a extensão de arquivo .txt padrão pela extensão .bat.

Por exemplo, você pode querer nomeá-lo hello_world.bat.

Agora você tem um arquivo em lote com a extensão de arquivo .bat. Clique duas vezes nele para executá-lo. Este arquivo em lote específico desativa o ECHO (que limpa a saída ocultando os comandos de serem impressos no prompt, imprime o texto “Hello World” na tela e espera que você pressione uma tecla antes de terminar.

Se você não adicionou PAUSEao arquivo, o arquivo em lote simplesmente executaria seus comandos e fecharia automaticamente. Nesse caso, ele imprimiria “Hello World” na janela e fecharia imediatamente a janela do prompt de comando. Quando você deseja executar comandos rapidamente sem ver a saída, pode omitir isso. Se estiver executando vários comandos, você pode colocar o PAUSEcomando entre eles.

Recomendado:  Como gravar chamadas do Skype

Escrevendo um arquivo de lote mais complexo

É fundamentalmente simples criar um arquivo em lote. A única coisa que você precisa alterar é o que você digita no Bloco de notas. Para executar vários comandos, você digita cada um em sua própria linha e o arquivo em lote executa cada um em ordem.

Por exemplo, digamos que queremos escrever um arquivo em lote que execute vários comandos de diagnóstico de rede . Talvez queiramos executar ipconfig /allpara ver as informações da rede, ping google.compara ver se os servidores do Google estão respondendo e tracert google.compara executar um traceroute para google.com e ver se há algum problema no caminho.

Na forma mais básica, poderíamos simplesmente colocar todos esses comandos em um arquivo em lote, um após o outro, assim:

ipconfig / all
ping google.com
tracert google.com
PAUSA

Quando executamos este arquivo, veríamos apenas a saída de cada comando logo após o outro. Mas essa não é necessariamente a maneira ideal de escrever um arquivo em lote.

Por exemplo, você pode querer adicionar linhas de comentário. Qualquer linha que comece com um ::é uma linha de comentário e não será executada. Isso os torna uma maneira útil de explicar o que está acontecendo no arquivo para qualquer pessoa a quem você possa entregá-lo – ou para você mesmo, que pode esquecer por que você colocou um determinado comando ali.

Você também pode querer adicionar o comando “ECHO OFF” ao início do arquivo. Isso geralmente é adicionado ao início da maioria dos arquivos em lote. Ao fazer isso, os próprios comandos não serão impressos no Prompt de Comando, mas os resultados serão. Por exemplo, você verá os detalhes da conexão de rede, mas não a linha “ipconfig / all”. A maioria das pessoas não se importa em ver os comandos, então isso pode limpar a saída.

Recomendado:  Você pode usar lâmpadas Philips Hue sem um hub

Então, aqui está o que pode parecer:

:: Este arquivo em lote verifica se há problemas de conexão de rede.
ECHO OFF
:: Ver detalhes de conexão de rede
ipconfig / all
:: Verifique se Google.com está acessível
ping google.com
:: Execute um traceroute para verificar a rota para Google.com
tracert google.com
PAUSA

Existem outras direções que você pode seguir com um arquivo em lote como este. Por exemplo, você pode querer que seu script em lote execute os comandos acima e, em seguida, despeje a saída em um arquivo de texto que possa ver mais tarde. Para fazer isso, você usaria o >>operador após cada comando para anexar sua saída ao arquivo de texto. Como vamos ler a saída do arquivo de texto de qualquer maneira, podemos omitir o PAUSEcomando.

:: Este arquivo em lote verifica se há problemas de conexão de rede
:: e salva a saída em um arquivo .txt.
ECHO OFF
:: Ver detalhes de conexão de rede
ipconfig / all >> results.txt
:: Verifique se Google.com está acessível
ping google.com >> results.txt
:: Execute um traceroute para verificar a rota para Google.com
tracert google.com >> results.txt

Depois de executar o script acima, você encontrará um arquivo chamado results.txt na mesma pasta do arquivo em lote com a saída dos comandos. A janela do prompt de comando será fechada automaticamente assim que a execução do arquivo em lote for concluída.

O exemplo que estamos usando acima depende da impressão real de informações no prompt de comando para que o usuário possa lê-las. No entanto, muitos arquivos em lote são projetados para serem executados de forma não interativa. Por exemplo, você pode ter um arquivo em lote que exclui vários arquivos ou diretórios sempre que você clica duas vezes nele. Você só precisa usar o delcomando para excluir arquivos ou o deltreecomando para excluir diretórios. Lembre-se de que você está usando apenas os mesmos comandos que executaria em uma janela de prompt de comando.

Recomendado:  Como jogar seus jogos NES, SNES e outros jogos retrô favoritos em seu PC com um emulador

Fundamentally, that’s the point of most batch files–just running a few commands one after another. However, batch files can actually be significantly more complex than this. For example, you can use “IF” statements along with the “GOTO” command to check the value of something and then skip to different lines depending on the result. This is more like writing an actual small program than a quick and dirty script. That’s one reason why .bat files are sometimes called “batch programs.” If you want to do something more complex, you’ll find plenty of guides to doing specific things with batch programming online. But now, you know the basics of how to throw a simple one together.