Batch - Introdução

Nesse texto nós apresentamos uma introdução a linguagem Batch, que é usada para escrever scripts que serão executados pelo CMD. Nós vamos entender o que é o CMD e depois já vamos criar nosso primeiro programa com a linguagem Batch. Nesse documento, ainda é disponibilizado uma lista com alguns comandos que podem ser utilizados.

Mas por que aprender a linguagem Batch? Para falar a verdade, hoje em dia isso é mais para quem tem curiosidade. Existem ferramentas que podem fazer bem mais que o CMD. De todo modo, entender Batch para aproveitar melhor o CMD ainda pode resumir horas de trabalho em alguns segundos. Com ela podemos automatizar tarefas, como a criação de um sistema de pastas por exemplo. Nesse sentido, aprender a linguagem Batch - que é a linguagem que usamos para criar os programas que serão executados pelo CMD - é muito útil para quem quer trabalhar melhor com o computador. Além disso, ter novos conhecimentos na bagagem é sempre uma coisa boa. Dificilmente você verá alguém lamentando ter aprendido algo novo.

Nota: apesar da linguagem Batch ser bem útil, existem algumas limitações. Então seria interessante se você também estudasse os comandos do PowerShell - outro interpretador que também vem com o Windows.

O que é Prompt de Comando (CMD)?

O Prompt de Comando, também chamado de CMD, é um programa que oferece uma interface de usuário, a qual permite a interação do usuário com os recursos do sistema Windows. A interface criada é do tipo command-line interface (CLI), que traduzido para o português fica Interface de Linha de Comando (ILC), e, portanto, o usuário interage com os recursos do sistema por meio de comandos escritos que serão interpretados pelo CMD para execução da tarefa desejada.

Como o Batch foi criado para ser usado no CMD, é comum que suas operações envolvam arquivos e pastas. Dessa forma, convém aprendermos como chegar até esses elementos no computador usando alguns comandos mais comuns.

Vamos começar pelo comando DIR. Esse comando é usado para listar todos os arquivos e pastas que estão dentro de uma pasta. Para ver esse comando funcionando, primeiro digite CMD na caixa de pesquisa do Windows. O programa Prompt de Comando aparecerá logo no topo. Clique sobre ele. Uma janela como a seguinte irá se abrir:

 O CMD é aberto na pasta do usuário logado.

O programa já é aberto com alguma coisa escrita. Na primeira linha, nós vemos a versão do Windows instalada na máquina no momento em que o CMD foi aberto. Na segunda linha temos uma mensagem de copyright da Microsoft. Na terceira linha temos um texto que chamamos de prompt, que é usado para indicar que o sistema está pronto para o próximo comando. Esse texto pode ter diferentes conteúdos, e inclusive ser informativo. É possível navegar pela estrutura de pastas do sistema através do CMD, e o prompt, nesse caso mostra o caminho para a pasta que o usuário está atualmente. Por exemplo, o prompt c:\Users\Fernando mostra que atualmente o usuário está com o CMD aberto na pasta Fernando, que está dentro da pasta Users, e que por sua vez está dentro do dispositivo de armazenamento identificado com c:.

Nós podemos modificar esse texto usando o comando prompt. Basta colocar o texto que deve ser usado após o comando. Por exemplo, o comando prompt meuprompt coloca o texto ‘meuprompt’ no lugar do caminho para a pasta atual. Use prompt /? para ver todas as opções.

Agora, vamos digitar o comando DIR e apertar Enter.

 Resultado do comando `DIR`. Todo o conteúdo da pasta onde o CMD estava aberto é exibido para o usuário.

Como resultado, todo o conteúdo da pasta onde o CMD estava aberto, C:\Users\Fernando, foi exibido para o usuário. As informações são exibidas em “colunas”. Na primeira coluna é exibida a data da última modificação. A segunda exibe o horário da última modificação. Na terceira pode ou não conter o valor <DIR>, que é usado para indicar se o item é um diretório (uma pasta) ou não. A última mostra o nome do item.

Nós podemos acessar essas pastas usando o comando CD [pasta], em que [pasta] deve ser substituído pelo nome da pasta/diretório que deve ser acessado. Por exemplo, digamos que precisamos acessar a pasta Music, para isso nós digitamos CD Music.

 O CMD entra na pasta informada.

Retornar para o diretório anterior é tão simples quanto digitar CD ..(perceba os dois pontos logo depois do comando) no CMD.

 O CMD volta para o diretório anterior.

Para retornar duas pastas, nós usamos cd ../../, se forem três nós digitamos cd ../../../, e assim por diante. Para acessar uma subpasta, ou seja, uma pasta que está dentro de outra pasta, e que por sua vez pode estar dentro de outra pasta, nós não precisamos entrar em cada uma delas até chegar até a que a gente quer. Só o que precisamos é o endereço da pasta relativo a pasta atual, ou o endereço completo do diretório. Por exemplo, digamos que dentro da pasta Music, exista uma pasta chamada rock, e dentro desta há uma outra pasta chamada ac_dc. Nós não precisamos entrar na pasta Music, depois rock e então ac_dc, nós podemos pular direto para a última pasta que é a que a gente quer. Para esse fim, nós podemos usar o comando CD music\rock\ac_dc\.

 Pasta ac_dc acessada diretamente.

Os diretórios music e rock foram pulados e o CMD foi direto na pasta ac_dc. Nós usamos o comando CD para acessar essa subpasta. Perceba que usamos o caminho relativo da pasta desejada. O caminho é relativo quando é levado em consideração o ponto de partida do CMD, que é a pasta em que ele está no momento. Nesse caso, o programa estava na pasta Fernando, daí para chegar até a pasta ac_dc, tínhamos que entrar na pasta music, acessar a pasta rock e finalmente a pasta ac_dc.

Além disso, também é possível usar o endereço completo da pasta que, nesse caso, é C:\Users\Fernando\Music\rock\ac_dc.

 Pasta ac_dc acessada diretamente com a especificação do seu caminho completo.

Perceba que, na maior parte dos casos, o endereço completo do arquivo independe de onde o CMD está aberto. No entanto, quando esse diretório se encontra em outra unidade de armazenamento, é preciso acessá-la primeiro. Por exemplo, se no seu computador existe um pen drive identificado por e:, e o CMD está aberto no disco c:, para acessar qualquer pasta neste dispositivo nós precisamos entrar em e: pelo CMD primeiro, e então acessar a pasta desejada.

Vamos supor que exista uma pasta chamada cursos em um pen drive d:. Para acessar essa pasta, nós acessamos o pen drive digitando d: no CMD, e então inserimos o comando para entrar no diretório.

 Acesso à pasta courses em outro dispositivo.

Esses são os comandos que normalmente usamos para navegar pelas pastas que estão contidos no computador. A partir daqui, vamos focar nos arquivos escritos com Batch Script.

Ferramentas Necessárias

O ambiente para o desenvolvimento em Batch é muito simples. Basicamente, você vai precisar de um computador com Windows instalado para conseguir executar o programa. E além disso, você vai precisar de um editor de texto simples, que pode ser o próprio bloco de notas.

Se você não quiser usar o Bloco de Notas do Windows, há também opções de programas que podem ser baixados como o notapad++ ou o sublime 3. Existe também a opção de utilização de uma IDE (Integrated Development Environment). Esse é um programa que integra diversas ferramentas que facilitam a programação, tais como um depurador que procura por erros de sintaxe no código, o IntelliSense que é um conjunto de funcionalidades que ajuda o programador a escrever o programa mais rápido. Entre as IDEs, podemos citar o Batch Compiler, que permite também a criação de uma versão .exe do seu documento, o que é bem útil quando não é desejável que outras pessoas possam xeretar o seu código.

Como criar Arquivos Contendo Batch

Para criar documentos no Bloco de Notas, Notepad++, Sublime 3 ou em outros editores:

  1. Com o programa aberto, crie um novo arquivo se necessário;
  2. Digite o script e então salve o arquivo como .cmd ou .bat.

Para criar arquivos no Batch Compiler também precisamos de poucos passos:

  1. Abra o programa, digite os comandos que você quer executar na tela branca que aparecer.
  2. Vá em file > save, escolha o local onde o arquivo deve ser salvo, e clique em salvar.

A criação de executáveis que pode ser feita utilizando a IDE Batch Compiler é realizado seguindo os seguintes passos:

  1. Abra o programa e digite os comandos necessários na area de edição (tela em branco);
  2. Clique no ícone indicado na imagem.
 Botão para criar executáveis.
  1. Vai abrir uma janela chamada “Compile | Batch Compiler”. Nessa janela você pode definir diversos parâmetros referente ao programa, tais como mostra a imagem e a descrição que se segue:
 Botão para criar executáveis.

Opções de compilação do Batch Compiler. A - Uma descrição do programa;

B - O nome da empresa dona do programa;

C - Informações de copyright;

D - Informar o local onde o executável será salvo;

E - Definir a visibilidade do programa;

F - Definir o nível de privilégio que usuário deve ter para executar o programa;

G - Dar um número de versão para o programa;

H - Adicionar recursos extras.

Quando estiver tudo pronto, você pode finalmente clicar no botão compilar.

Criando e Rodando Arquivos Batch

Com tudo pronto, mãos à obra! Abra o editor que escolheu, e digite o código abaixo (vamos destrinchá-lo logo em seguida):

ECHO Hello, world!
ECHO.
PAUSE

O comando ECHO é utilizado para indicar ao CMD que queremos imprimir alguma coisa na tela para o usuário. A estrutura é ECHO [mensagem], onde [mensagem] deve ser substituído pela mensagem que deseja mostrar. Não é necessário o uso das aspas como em outras linguagens. Se você colocar o texto entre aspas, ele será exibido entre aspas. Nesse caso a mensagem é “Hello, world!”.

O comando ECHO. é um comando usado para inserir uma linha vazia, ajudando a manter uma estética mais apresentável para o usuário.

O comando PAUSE impede que o CMD feche assim que terminar de executar as instruções que acabamos de passar. Sem esse comando o CMD executa o script e se fecha logo em seguida.

Agora salve o arquivo com a extensão .bat (e.g., hello-world.bat) e depois basta clicar sobre ele para executa-lo.

Resultado:

 Hello, world! exibido para o usuário com sucesso.

Dica: apague o comando PAUSE e execute o script novamente para comparar os resultados.

Também é possível executar o arquivo diretamente pelo CMD. Para tanto, navegue pelo CMD até a mesma pasta em que o programa foi salvo, e então digite o nome desse script. Nesse caso, meu arquivo foi salvo como ‘hello-world.bat”, e está na pasta “batch-lang”, então por esse método eu devo abrir o CMD, navegar até essa pasta “batch-lang” e digitar “hello-world.bat”.

 Digite o nome do arquivo para executá-lo, o resultado é o mesmo.

Uma coisa que você deve ter percebido é que os comandos colocados no arquivo (ECHO Hello,world!, ECHO. e PAUSE) apareceram no CMD quando o mesmo foi executado (se não percebeu, volte lá para dar uma olhada). Isso faz com que a tela fique mais poluída, e as informações mais difíceis de ler, principalmente quando temos scripts gigantes. Para diminuir essa poluição visual podemos usar o comando @ECHO OFF logo no início do documento. Esse comando indica para o CMD que ele não deve mostrar os comandos na tela, mas apenas os resultados destes (caso tenha um resultado para mostrar na tela). Nesse caso nosso arquivo ficaria da seguinte forma:

@ECHO OFF
ECHO Hello, world!
ECHO.
PAUSE

Agora os comandos serão suprimidos enquanto que o resultado desses comandos será exibido para o usuário.

 Apenas o resultado dos comandos é exibido.

Como dito, um arquivo .bat ou .cmd não passa de um documento com um ou mais comandos que você digitaria diretamente no prompt de comando com a adição de um ou outro recurso. Portanto, qualquer comando que costumamos usar no CMD, podemos também digitá-lo no arquivo “.bat” ou “.cmd”.

No exemplo abaixo escrevemos um script que vai mostrar todos os arquivos e pastas dentro da pasta onde o arquivo .bat está localizado.

@ECHO OFF
DIR
PAUSE

Supondo que o arquivo esteja salvo em uma pasta nomeada “batch-lang”, quando ele for executado será listado todo o conteúdo desta pasta.

 Todo o conteúdo da pasta em que o arquivo foi executado é exibido.

No entanto, perceba que nem todo comando que pode ser inserido em um arquivo script terá alguma utilidade ao ser digitado diretamente no CMD. O comando GOTO, por exemplo, é utilizado para modificar a ordem de execução de um programa, apontando para outra parte do arquivo que o CMD deve ler. Dessa forma, ao ser usado fora de um arquivo, esse comando deixa de ter utilidade. Você entenderá mais sobre esse comando quando falarmos sobre labels (rótulos).

Comandos

Os comandos apresentados até aqui não são os únicos. Abaixo é apresentado uma tabela em português com alguns dos comandos disponíveis.

Comandos da Linguagem Batch e sua Respectiva Função

Comando Função
ARP Exibe e modifica as tabelas de conversão de endereços IP para endereços físicos usadas pelo protocolo de resolução de endereços (ARP).
ASSOC Muda ou exibe a relação entre uma extensão e um tipo de arquivo. As extensões são, geralmente, uma parte de um nome maior que indentifica o tipo do arquivo. Por exemplo, a extensão .jpg é usada para arquivos do tipo jpegfile, mas nós podemos mudar essa associação com esse comando.
ATTRIB Exibe ou altera atributos de arquivos.
BCDBOOT Criar ou reparar uma partição do sistema.
BCDEDIT Uma ferramenta para o gerenciamento do BCD (Boot Configuration data ou Dados de Configuração de Inicialização). O BCD é um banco de dados, um conjunto de dados organizados, que armazena dados necessários para a correta inicialização do sistema.
BITSADMIN O Background Intelligent Transfer Service (Serviço de Transferência Inteligente em Plano de Fundo) gerencia o serviço de transferência inteligente de arquivos de forma assíncrona, priorizada, e acelerada de arquivos entre máquinas usando largura de banda disponível no momento .
CACLS Exibe ou altera permissões de arquivo. A lista de permissões define quais usuários/grupos de usuários podem ler ou editar um arquivo. Se aplica somente para arquivos armazenados em um disco formatado como NTFS.
CALL Inicia outro programa em Batch.*
CERTREQ Solicita um certificado digital de uma autoridade de certificação.Um certificado digital autentica a quem pertence um software, um PC, uma chave pública usada para encriptação. Esse certificado digital é fornecido por uma autoridade de certificação, uma entidade reconhecida e confiável como a Google.
CERTUTIL Gerencia os serviços e arquivos da autoridade de certificação.
CD Usado para navegação entre diretórios.*
CHANGE Alterar propriedades da sessão do Terminal Server.
CHANGEPK Muda a edição do Windows ou a chave do produto. Por exemplo, é possível sair do Windows Home para o Windows Pro Education se a chave do produto for modificada. Todos os upgrades possíveis são listados no site da Microsoft
CHCP Altera o atual codificação dos caracteres no CMD, isto é, permite mudar como os caracteres são representados na memória, o que também determina os caracteres que podem ser exibidos.
CHDIR Usado para navegação entre diretórios.
CHKDSK Procura e repara problemas no disco local.
CHKNTFS Checa o sistema de arquivos NTFS.
CHOICE Detecta o pressionamento de uma única tecla pelo usuário. Esse comando é geralmente utilizado para construção de menus, apresentando opções que o usuário escolhe ao pressionar alguma tecla.
CIPHER Encripta ou tira a encriptação de arquivos/pastas.
CLEANMGR Automatiza a exclusão de arquivos.
CLIP Copia o resultado de um comando.
CLS Limpa a tela do CMD.*
CMD Abre uma nova instância do CMD dentro do CMD. Nessa janela podemos executar qualquer comando.
CMDKEY Gerência senha e nomes de usuários armazenados.
COLOR Muda a cor da fonte e do fundo do CMD.
COMP Compara o conteúdo de dois arquivos.
COMPACT Exibe ou altera a compactação de arquivos em partições NTFS.
CONVERT Converte um o sistema de arquivo do dispositivo de FAT ou FAT32 para NTFS.
COPY Copia um ou mais arquivos para outro local.
CSVDE Importar ou explorar dados do Active Directory para um arquivo.
CURL Transfere dados de ou para um servidor usando um de vários protocolos suportados.
DATE Exibe ou define a data.*
DEFRAG Desfragmentar o disco rígido.
DEL Exclui um ou mais arquivos.*
DELPROF Deleta perfis de usuário em computadores locais ou remotos.
DIR Exibe uma lista de arquivos e pastas do diretório atual.*
DIRQUOTA Cotas de disco do Gerenciador de recursos de servidor de arquivos.
DISKPART Administra discos, volumes ou partições.
DISKSHADOW Serviço de cópia de sombra de volume.
DISM Inicia o Manutenção e gerenciamento de imagens de implantação.
DISPLAYSWITCH Especifica qual monitor e qual utilizar.
DNSCMD Gerência servidores de DNS.
DOSKEYE Edite a linha de comando, recupere comandos e crie macros.
DRIVERQUERY Exibir drivers de dispositivos instalados.
DSMGMT Gerenciamento de serviços de diretório.
ECHO Exibe uma mensagem na tela.*
ENDLOCAL Terminar a localização do ambiente em um arquivo de lote.*
ERASE Exclui um ou mais arquivos.*
EVENTCREATE Adicionar uma mensagem para o registro de eventos do Windows.
EXIT Encerra a rotina ou script e define um valor para a variável ERRORLEVEL.*
EXPAND Descomprime arquivos Cabinet (CAB). Esses são arquivos comprimidos, identificados pela extensão .cab, que guardam informações de várias instalações do Windows que podem envolver drivers ou arquivos do sistema.
FC Compara dois arquivos.
FIND Procura por strings de texto em um arquivo.
FINDSTR Procura por um texto em um arquivo.
FLTMC Carregar, descarregar, listar e gerenciar drivers de filtro.
FOR Usado para executar um ou mais comandos para cada item em um conjunto.*
FORFILES Seleciona um arquivo (ou grupo de arquivo) e executa um comando para todos.
FORMAT Formatar um dispositivo.
FREEDISK Procura por espaço livre em disco.
FSUTIL Executa várias tarefas relacionadas aos sistemas de arquivo FAT e NTFS como gerenciar Reparse Points e Sparse Files, desmontar um volume, e extender um um volume.
FTP Protocolo de transferência de arquivos.
FTYPE Exibe ou modifica a relação entre um tipo de arquivo e um arquivo executável que deve abri-lo por padrão. Por exemplo, podemos definir o Chrome como o programa padrão para abrir documentos do tipo htmlfile.*
GETMAC Exibe o endereço de mac.
GOTO Muda a ordem de execução em um programa Batch, apontando um local rotulado em que os comandos que devem ser executados estão.*
GPRESULT Exibe as informações das Políticas de Grupo.
GPUPDATE Atualiza as configurações de Política de Grupo.
HELP Exibe uma lista de comandos disponíveis, ou mais detalhes sobre um comando especifico. Não funciona com todos os programas. Para estes, tente o comando /? (e.g., CMD /?).
HOSTNAME Exibe o nome de host do computador.
ICACLS Muda as permissões de arquivo e pasta.
IEXPRESS Crie um arquivo ZIP de extração automática. Esse arquivo é um executável que contém um arquivo ZIP e um código que descomprime o(s) arquivo(s) desse arquivo ZIP. Para executar esse código, e assim obter os arquivos comprimidos, basta clicar sobre os arquivos .exe.
IF Executa um comando condicionalmente.*
IPCONFIG Exibe as configurações de IP da máquina.
LABEL Edita o rótulo de uma unidade.
LODCTR Atualiza os valores de registro relacionados aos contadores de desempenho.
LOGMAN Gerência registros.
LOGOFF Desconectar um usuário.
MAKECAB Cria um arquivo CAB. Este é um arquivo comprimido, como o ZIP.
MANAGE-BDE Configurar a Criptografia de Unidade de Disco BitLocker nos volumes de discos.
MD Cria um novo diretório.*
MKDIR Cria um novo arquivo.*
MKLINK Criar um link simbólico, um link físico, ou .*.
MODE Configura os dispositivos do sistema.
MORE Exibe textos no CMD sem que ultrapasse o espaço disponível na tela em um determinado momento. Uma vez que não há mais espaço, o CMD aguarda até que o usuário pressione enter. Rode HELP e depois HELP | MORE e compare o resultado.
MOUNTVOL Cria, exclui, ou lista um ponto de montagem de volume.
MOVE Move e renomeia arquivos e pastas.*
MSG Envia uma mensagem para um usuário.
MSIEXEC Fornece os meios para instalar, modificar e executar operações no Windows Installer a partir da linha de comando.
MSINFO32 Coleta informações sobre o PC e exibe uma visão abrangente do seu Hardware, componentes do sistema e ambiente de software. Pode aparecer a mensagem "Não foi possível coletar informações". Esse problema talvez possa ser resolvido resetando o repositório do WMI(Instrumentação de Gerenciamento do Windows).
MSTSC Permite logar um computador remoto usando o protocolo Remote Desktop Protocol (RDP).
NET Gerencia os recursos de rede. Podemos usá-lo para conectar ou desconectar o computador de um recurso compartilhado por um servidor, exibir informações de configuração do servidor, adicionar ou remover um computador de um domínio e etc.
NETDOM Gerencia domínios.
NETSH Exibe ou modifica as configurações de rede.
NBTSTAT Exibe as estatísticas de protocolo e as conexões TCP/IP atuais que usam NBT.
NETSTAT Exibe estatísticas de protocolo e conexões de rede TCP/IP atuais.
NLTEST Teste de localização de rede.
NMBIND Gerencia as ligações de rede Hyper-V. Note que o Hyper-V - um software para criação de máquinas virtuais - deve ser ativado nas versões suportadas do Windows para poder usá-lo. Procure instruções para o seu sistema operacional.
NSLOOKUP Pesquisa em um DNS (Domain Name Server) por um domínio (e.g., google.com) para encontrar o endereço de IP correspondente, ou procurar pelo endereço de IP para encontrar o domínio correspondente.
NTBACKUP Usado para executar funções de backup pelo CMD.
NTDSUTIL Usado para acessar e gerenciar o Active Directory do Windows. Disponível para computadores que possuem o as Ferramentas dos Serviços de Domínio Active Directory que fazem parte das Ferramentas de Administração de Servidor Remoto (RSAT), ou se você tiver o AD DS ou a função de servidor AD LDS. Microsoft recomenda que o NTDSutil seja usado por administradores experientes e requer que a ferramenta seja usada com o CMD no modo administrador.
OPENFILES Lista, consulta ou desconecta arquivos e pastas que foram abertos no sistemas.
PATH Exibe ou configura um conjunto de caminhos para programas executáveis que podem ser acesssados e executados através da linha de comando.
PATHPING Funciona como o comando TRACERT mas também informa sobre a latência da rede e perda de pacotes em cada salto. Um salto é a transmissão de um pacote (pedaço de informação) de um dispositivo para o outro até chegar ao destino determinado.
PAUSE Suspende o processamento do arquivo batch*
PING Testar uma conexão de rede. Se obter sucesso é retornado o endereço de IP.
POPD Retorna para um diretório previamente salvo pelo comando PUSHD.*
POWERCFG Gerencia as configurações do gerenciamento de energia do Windows.
PRINT Imprime um arquivo usando uma impressora específica.
PRINTBRM Backup / Recuperação / Migração da fila de impressão.
PROMPT Usado para customizar a aparência do texto que aparece antes dos comandos do CMD ou MS-DOS. Geralmente, o CMD ou o MS-DOS exibe caminho para a pasta onde ele está aberto, mas isso pode ser mudado para uma seta com esse comando, por exemplo.
PSHD Armazena o caminho para um diretório que pode ser referenciado pelo comando POPD.
RASDIAL Usado para iniciar ou finalizar uma conexão discada ou Virtual Network Connection (VPN).
RD Exclui um diretório*.
RECOVER Recupera informações legíveis de um disco danificado ou defeituoso.
REG Lê, cria, exporta, ou deleta valores e chaves do registro. Muito cuidado ao utilizar esse comando. O registro é uma parte fundamental do Windows e qualquer modificação mal calculada pode deixar seu sistema operacional inacessível.
REGEDIT Importa ou exporta configurações de registro de um arquivo de texto .reg.
REGSVR32 Registrar ou cancelar o registro de controladores OLE (Object Linking Embedded), como arquivos .DLL e .OCX. Quando esse comando registra um arquivo DLL, informações sobre arquivos de programa associados a ele são armazenadas no registro do Windows. Outros programas podem acessar essas informações a fim de saber onde os dados do programa estão e como interagir com eles.
REGINI Define ou altera permissões e valores do registro,
REM Adicionar um comentário em um arquivo Batch.*
REN Renomeia um ou mais arquivos. É a mesma funcionalidade do comando rename.*
REPLACE Troca ou atualiza um arquivo com um outro arquivo.
RMDIR Exclui um diretório.*
ROBOCOPY Usado para copiar arquivos e pastas de um lugar para o outro. Esse comando é superior ao COPY e XCOPY pois possui muito mais opções.
ROUTE Manipular tabelas de roteamento de rede.
RUNAS Executa um programa usando as credenciais de outro usuário
RUNDLL32 Executa um comando DLL (adiciona ou remove conexões de impressoras). Só funciona com arquivos DLL explicitamente criado para ser executado por esse comando.
SC Configura informações sobre serviços.
SCHTASKS Criar, excluir, consultar, alterar, executar e finalizar tarefas agendadas em um sistema local ou remoto.
SET Exibe, cria, ou remove variáveis de ambiente da seção atual.*
SETLOCAL Controla a visibilidade de variáveis de ambiente.*
SETSPN Gerência o Service Principal Name (SPN) para um Active Directory.
SETX Cria ou muda as variáveis de ambiente de usuário ou no ambiente do sistema.
SFC Verificar ou substituir arquivos importantes do sistema do Windows.
SHIFT Muda a posição de parâmetros substituíveis em um arquivo batch ou script.•
SHUTDOWN Desliga, reinicia, ou logoff do sistema atual ou computador remoto.
SLMGR Gerenciar o licenciamento de software
SORT Ler a entrada de dados, ordenar os dados, e retornar o resultado do ordenamento para a tela do CMD, para um arquivo, ou outro dispositivo de saída.
SSH Permite a conexão entre dois computadores de maneira segura. Pode ser usado para logar em um computador remoto, trocar arquivos entre a máquina local e a máquina remota, e também executar códigos na máquina remota.,
START Inicia um programa, comando ou arquivo Batch.*
SUBST Associa um caminho com a letra de um drive.
SYSMON Monitora e registra a atividade do sistema no registro de evento do Windows.
SYSTEMINFO Exibe informações detalhadas sobre a configuração do computador local ou remoto e de seu sistema operacional.
TAKEOWN Usado por um administrador para recuperar o acesso, que havia sido negado, a um arquivo.
TAR Extrai arquivos ou cria um arquivo composto de dois ou mais arquivos. Por exemplo, podemos extrair os arquivos de um arquivo ZIP, e depois juntá-los em um só arquivo.
TASKLIST Lista aplicações e serviços sendo executados.
TASKKILL Interrompe a execução de um processo.
TELNET Usado para se comunicar com outro computador que utiliza o protocolo Telnet. Não está disponível por padrão no Windows mas pode ser ativado em Painel de Controle > Programas > Ativar ou Desativar Recursos do Windows. Marque a caixa para a opção "Cliente Telnet".
TIME Exibe ou determina a hora do sistema.*
TIMEOUT Atrasar o processamento de um arquivo Batch/comando.
TITLE Determina o título para a sessão do CMD.*
TRACERT Exibe os dispositivos intermediários entre o computador local e um computador remoto.
TREE Exibe de forma gráfica a estrutura de pastas.
TSDISCON Desconecta uma sessão remota.
TSKILL Interrompe um programa em execução.
TYPE Exibe o conteúdo de um arquivo de texto.*
TYPEPERF Exibe informações de performance no CMD ou guarda em um arquivo de registro específico.
TZUTIL Exibe ou configura o fuso horário atual do sistema.
VER Exibe informação sobre a versão do Windows.*
VERIFY Ativa ou desativa a habilidade do CMD ou MS-DOS de verificar se os arquivos foram salvos corretamente.
VOL Exibe o rótulo do disco.*
VSSADMIN Exibe os backups de cópia de sombra de volume atuais e todos os provedores e gravadores de cópia de sombra instalados.
W32TM Usado para diagnosticar problemas no Windows Time.
WAITFOR Esperar por ou enviar um sinal.
WBADMIN Inicia ou finaliza procedimentos de backup, exibe os detalhes de um backup anterior, lista o conteúdo de um backup, e reportar o status de um backup em processo.
WECUTIL Permite a criação e gerenciamento de assinaturas para eventos que são encaminhados por computadores com suporte ao protocolo WS-Management.
WEVTUTIL Inicia o Events Command-line Utility , que é usado para gerenciar registros de eventos e editores.
WHERE Usado para procurar por arquivos que apresentem um padrão específico.
WHOAMI Exibe o domínio ou nome de usuário atual.
WINGET Esse comando está previsto para Maio de 2021. Gerenciador de pacotes do Windows. Um gerenciador de pacotes facilita o processo de instalação de software na máquina. Bastando escrever o software necessário, e deixar o gerenciador encontrar, baixar e instalar a versão mais nova (ou a que foi especificado por você) do programa.
WINRM Inicia a versão de linha de comando do Window Remote Management, usado para gerenciar comunicação com computadores locais e remotos usando Web Services.
WINRS Permite gerenciar programas remotamente.
WMIC Inicia o Windows Management Instrumentation Command Line (WMIC), uma interface de script que simplifica o uso do Windows Management Instrumentation (WMI) e também de sistemas gerenciados pelo WMI.
WPR Registra eventos do sistema que então podem ser avaliados usando o Windows Performance Analyzer (WPA).
WUSA O Windows Update Standalone Installer utiliza oWindows Update Agent API para instalar pacotes de atualização.
WUAUCLT O Windows Update Automatic Update Client é usado para solucionar erros do Windows Update, e gerenciar as atualizações do Windows Update.
XCOPY Copia pastas e arquivos.

Os comandos marcados por * são comandos internos do CMD. Esses comandos são construídos junto ao CMD; eles fazem parte do interpretador. Por esse motivo, eles estão sempre disponíveis.

Os outros são comandos externos. Esses comandos são na verdade programas separados que podem ser utilizados pelo CMD para performar alguma tarefa. Eles podem estar armazenados em qualquer parte do computador, mas para que estejam acessíveis pelo CMD o caminho até eles deve ser armazenado na variável de ambiente PATH.

Um exemplo de comando externo pode ser o CLIP. Ao digitar esse comando e pressionar “enter”, o CMD precisa procurar por um programa chamado clip e executá-lo. Nesse caso, existe um programa clip.exe na pasta “System32” do Windows, cujo caminho é armazenado na variável PATH para que o CMD possa encontrá-lo.

Muitos softwares são baixados para ser usados como um comando no CMD, como o NodeJS ou o cwebp (um processador de imagens).

Resumo

O Batch Script é uma linguagem de programação que usamos para automatizar tarefas que serão executadas pela ferramenta de linha de comando do Windows, o CMD. Seu objetivo é facilitar a vida de quem usa o sistema operacional Windows.

Os comandos dessa linguagem podem ser digitados diretamente no interpretador, ou podem ser escritos separadamente em um arquivo com a extensão .cmd ou .bat . Uma vez criados, os arquivos podem ser executados a qualquer momento pelo usuário, ou de forma automatizada e programada.

Existem dezenas de comandos disponíveis para serem usados. Aqui listamos somente alguns deles. Para uma lista mais completa vale a pena ler a lista de comandos do Windows.

Usamos serviços da Google que utilizam cookies para garantir seu funcionamento. Ao utilizar este site, você aceita o uso de cookies. Visite Como o Google usa informações de Sites ou Apps que utilizam nossos serviços para mais informações.