Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

www.mcsesolution.com.br 
 
Scripting (Batch) 
Este documento é um conjunto de artigos criados em 2008 do site www.mcsesolution.com. Com a 
migração para a nova plataforma não queria levar todos os artigos que já estavam se perdendo. 
Resolvi então juntar esses artigos em documento e compartilhar com todos. 
 
 
 
 
www.mcsesolution.com.br 
 
 
Conteúdo 
Características dos arquivos de lote ....................................................................................................... 3 
Executando arquivos de lote. ............................................................................................................. 3 
Características de scripts PowerShell ................................................................................................. 3 
Echo on e Echo off .................................................................................................................................. 4 
Comando REM ........................................................................................................................................ 5 
Redirecionadores .................................................................................................................................... 5 
Comando SET (Váriaveis de ambiente) ................................................................................................... 6 
Comando If .............................................................................................................................................. 8 
Caracteres Especiais ................................................................................................................................ 8 
Comando GOTO ...................................................................................................................................... 9 
Comando FOR ....................................................................................................................................... 10 
Comando Choice ................................................................................................................................... 11 
Comando Netsh .................................................................................................................................... 12 
 
 
 
www.mcsesolution.com.br 
 
Características dos arquivos de lote 
 
Arquivos de lote (batch), são arquivos de texto não formatado, geralmente criados usando um editor 
de texto simples, que poder ser o edit ou notepad do Windows. 
A função de um arquivo de lote é automatizar tarefas. Um arquivo de lote é um conjunto de 
comandos normais do DOS/Windows agrupados em um único arquivo de texto. 
 
Os arquivos de lote, tem que possuir a extensão .BAT e em sistemas com NT, Windows 2000, 2003, 
XP e 2008 podem também receber a extensão .CMD, iremos sempre usar aqui a extensão .BAT 
(abreviação de BATCH) e que é compatível com quase todos os sistemas operacionais Microsoft. 
Exemplo teste.bat, copiar.bat limpa.cmd 
 
Executando arquivos de lote. 
 
Uma vez que salvamos um arquivo com determinado nome (preferencialmente com 8 caracteres) e 
com a extensão .bat ou .cmd 
Podemos executá-lo a partir da linha de comando. 
Para executar um arquivo de lote basta informar o nome do arquivo no prompt de comando. Se 
você criar um arquivo com o nome "meuteste.bat", basta digitar no meuteste e pressionar ENTER. 
Exemplo c:\>meuteste 
Atenção - Para arquivos com o mesmo nome a ordem de execução é a seguinte: Primeiro arquivos 
com extensão .com, segundo .exe e por ultimo .bat. 
 
Exemplo: Se você tiver três arquivos com o mesmo nome (teste.com, teste.exe e teste.bat), primeiro 
executaria o teste.com, depois o teste.exe e depois o teste.bat. 
Isto é uma herança do antigo sistema operacional CP/M. (é só para mostrar o ordem de execução) 
 
Todos os comandos usados no prompt podem fazer parte de um arquivo de lote. Podemos usar 
também alguns comandos extras, para trabalhar com sub-rotinas, variáveis, etc. 
 
Características de scripts PowerShell 
 
 
www.mcsesolution.com.br 
Scripts powershell sao muitos similares aos já conhecidos scripts, porém para a execução depende 
do Shell do powershell Smile 
A grande diferença esta no poder de que essa ferramenta prove. A principio assusta quem não é de 
DEV, mas é só começar para ver que não é um bicho de 7 cabeças. 
Powershell é um novo shell de linha de comando e linguagem de script para automação e 
administração de sistemas. Criado com o .NET Framework, 
São 129 ferramentas de linha de comando ("cmdlets") para executar tarefas comuns de 
administração de sistemas, como gerenciamento de serviços, processos, logs de eventos, 
certificados e do Registro, e o uso do WMI. 
As ferramentas de linha de comando são fáceis de aprender e usar, possuem convenções de 
nomenclatura padrão e parâmetros comuns, além de ferramentas simples para classificação, 
filtragem e formatação de dados e objetos. 
 
Echo on e Echo off 
O Comando ECHO desabilita a repetição do comando na tela. Para não ver o comando como se ele 
tivesse sido digitado devemos iniciar os arquivos de lote com a linha @echo off. O arroba (@) antes 
de ECHO OFF omite a aparição do próprio comando echo. 
O comando ECHO seguido por um texto, na execução do arquivo esse texto aparecerá como uma 
mensagem. 
Sintaxe: 
ECHO [ON | OFF] 
ECHO [mensagem] 
 
O Comando PAUSE apenas pausa o script, porém é muito útil quando precisamos que uma 
mensagem ou execução bem sucedida seja vista. 
Sintaxe: 
PAUSE 
 
-> script1.bat 
--------------------------------------- 
@ECHO off 
CLS 
ECHO Hello World 
PAUSE 
--------------------------------------- 
 
Dica: Para pular uma linha basta usar o comando ECHO e um caractere ASCII especial, para conseguir 
esse caractere basta manter a tecla ALT pressionada, digitar 16, soltar a tecla ALT , pressione 
novamente ALT e digite 8. 
 
www.mcsesolution.com.br 
Comando REM 
O comando REM permite inserir comentários, em arquivos de lote, e caso você não queira executar 
alguma linha basta inserir o comando REM antes do comando. 
 
Sintaxe: 
REM [comentário] 
-> script2.bat 
--------------------------------------- 
REM Desenvolvido por Daniel Donda 
@ECHO off 
CLS 
ECHO Hello World 
REM PAUSE 
--------------------------------------- 
Observação: neste script o comando pause não será executado, pois esta como comentário. 
 
Redirecionadores 
 
O Sinal > representa um redirecionador. Podemos redirecionar a saída da tela, para qualquer porta 
existente no micro. 
Temos as seguintes portas: 
 
Paralelas LPT1,LPT2,LPT3 
Seriais COM1, COM2, COM3 
PRN - representa a porta da impressora no DOS 
NUL - representa uma porta nula. 
ARQUIVO - substitua por qualquer arquivo 
 
Muito importante: 
Quando redirecionamos qualquer comando ou arquivo para outro arquivo usando > ele cria um 
novo arquivo. 
Para que o redirecionamento seja adicionado em um arquivo já existente, temos que usar >>. 
 
Veja no exemplo: 
 
-> script3.bat 
--------------------------------------- 
@ECHO OFF 
CLS 
ECHO Imprimindo a lista de arquivos do diretório atual... 
DIR > lista.txt 
ECHO Fim do diretorio >> lista.txt 
TYPE lista.txt > prn 
--------------------------------------- 
 
Neste exemplo o comando dir é redirecionado para um arquivo de texto chamado lista.txt e em 
seguida o comando echo adiciona a frase FIM DO DIRETORIO ao arquivo lista.txt e por final comando 
type redireciona o conteúdo de lista.txt para a impressora. 
 
 
www.mcsesolution.com.br 
 
 
-> script4.bat 
--------------------------------------- 
REM Autor: Daniel Donda 
@ECHO OFF 
CLS 
ECHO Este é meu arquivo de lote e quando 
ECHO quiser continuarpressione qualquer tecla ! 
PAUSE > NUL 
--------------------------------------- 
Neste exemplo o comando pause está sendo direcionado para nulo, os seja sua mensagem padrão 
não será exibida. 
 
Comando SET (Váriaveis de ambiente) 
 
O comando set é um comando extremamente poderoso. Sua função é exibir, definir e alterar 
variáveis de ambiente. 
Sempre nos deparamos com documentações técnicas onde é muito usado as variáveis de ambiente. 
Por exemplo: %SYSTEMROOT%, ou %SYSTEMDRIVE% 
Para consultar as variáveis de ambiente no prompt de comando simplesmente digite: SET 
 
 
Essas variáveis de ambiente são do sistema, porém podemos definir nossas próprias variáveis. 
A definição de variáveis é bem simples: 
As variáveis possuem um nome, exemplo computername, mas devemos usar % para fazer o uso 
das variáveis em scripts, como no exemplos %computername%. 
 
SET [[variável]=[cadeia de caracteres]] 
 
-> script5.bat 
--------------------------------------- 
@ECHO OFF 
CLS 
SET SRT=SecurityResponse 
MD C:%SRT% 
COPY C:*.LOG /s C:%SRT% 
--------------------------------------- 
Neste exemplo será definida a variável SRT, facilitando a criação de um diretorio e copia de arquivos. 
 
 
www.mcsesolution.com.br 
 
 
 
( ) 
 
Agrupamento 
 
! ~ - 
 
Operadores Unários 
 
* / % 
 
Operadores Aritméticos 
 
+ - 
 
Operadores Aritméticos 
 
<< >> 
 
Alternância Lógica 
 
& 
 
bit a bit E 
 
^ 
 
bit a bit exclusivo OU 
 
| 
 
bit a bit OU 
 
= *= /= %= += -
= &= ^= |= <<= >>= 
 
Atribuição 
 
‘ 
 
Separador de expressões 
 
 
-> script6.bat 
--------------------------------------- 
@ECHO OFF 
SET /A SOMA=2+5 
ECHO SOMA DE 2+5=%SOMA% 
SET /A DIVISAO=9/2 
SET /A MOD=9%%2 
ECHO DIVISAO DE 9/2=%DIVISAO% COM RESTO=%MOD% 
SET /A MULT=7*7 
ECHO MULTIPLICACAO DE 7X7=%MULT% 
--------------------------------------- 
Neste exemplo o script gera vários valores de operações matemáticas básicas. 
 
 
Interação com o usuário 
SET /P variável=[cadeia_do_prompt] 
 
 
-> script7.bat 
--------------------------------------- 
@ECHO OFF 
CLS 
SET /P NOME=QUAL O SEU NOME ? 
ECHO OI %NOME%, VOCE ESTA USANDO O COMPUTADOR %COMPUTERNAME% 
--------------------------------------- 
Neste exemplo o script lê o nome do usuário e imprime na tela o uma mensagem personalizada 
com seu nome e o computador que esta usando. 
 
Expansão de variáveis. 
Uma mesma variável pode ser utilizada diversas vezes em um script e também pode ser definida 
com valores diferentes durante a execução do script. 
 
Por padrão a expansão de variável atrasada é desabilitado. 
Isso será visto adiante no comando “SETLOCAL”. 
 
www.mcsesolution.com.br 
Comando If 
O comando If executa processos condicionais em arquivos de lote. 
Existem diferentes maneiras de utilizar esse comando: 
Sintaxe: 
IF [NOT] ERRORLEVEL numero comando 
IF [NOT] string1= = string2 comando 
IF [NOT] EXIST arquivo comando 
 
Como vimos na sintaxe o comando IF (Se) pode ser usado ‘ e’ ou ‘se não’. 
-> script8.bat 
--------------------------------------- 
@ECHO OFF 
CLS 
IF NOT EXIST C:\atributos.txt (attrib > atributos.txt ) ELSE TYPE 
atributos.txt 
--------------------------------------- 
 
Neste exemplo o comando IF verifica se "não" existe um determinado arquivo e caso a condição for 
verdadeira (ou seja não existir o arquivo) ele será criado, se ele existir será exibido na tela. 
 
O comando IF pode verificar determinadas condições se adicionado o parâmetro /I: 
EQU – Igual 
NEQ – Diferente 
LSS – Menor que 
LEQ – Menor que ou igual 
GTR – Maior que 
GEQ – Maior que ou igual 
 
-> script9.bat 
--------------------------------------- 
@ECHO OFF 
SET /P NUM=DIGITE UM NUMERO : 
IF /I %NUM% EQU 10 (ECHO ACERTOU NA MOSCA 
) ELSE ( ECHO ERROU 
) 
--------------------------------------- 
 
Neste exemplo é solicitado um valor para o usuário e se o valor for igual a 10 exibe uma mensagem 
na tela. 
 
Caracteres Especiais 
 
ASCII - (American Standard Code for Information Interchange) © um conjunto de códigos para o 
computador representar numeros, letras, pontuação e outros caracteres. Surgido em 1961, um dos 
seus inventores foi Robert W. Bemer. 
Fonte : Wikipedia 
 
 
www.mcsesolution.com.br 
 
 
 
Ao criar arquivos de lote é possivel definir caixas de mensagens e desenhos bem legais, basta seguir 
a tabela ASCII. 
Para conseguir utilizar esses caracters faça o seguinte: 
Pressione ALT, Digite o numero, solte o ALT 
Mais dicas: 
 
Para pular uma linha com o echo: 
Digite echo e na frente. 
Pressione ALT, digite 16, solte o ALT, pressione ALT novamente e digite 8 e solte o ALT. 
Para soar um bip com o echo: 
Digite echo e na frente. 
Pressione ALT e digite 16, solte o ALT, pressione ALT novamente e digite 7 e solte o ALT. 
 
Comando GOTO 
 
Direciona o interpretador de comandos do Windows para uma linha identificada como sendo um 
"label" em um programa em lotes. 
 
Sintaxe: 
GOTO label 
Exemplo: 
--------------------------------------------------------------- 
@echo off 
:loop 
echo Para cancelar pressione CTRL + C ou fique ai vendo isso... 
goto loop 
 
www.mcsesolution.com.br 
--------------------------------------------------------------- 
 
Aqui o comando "GOTO" vai para linha onde existe o label chamado loop (poderia ser qualquer 
outro nome). 
 
Ele é muito usado em conjunto com outros comandos como choice, IF. 
Verifique o uso do GOTO nos outros comandos abaixo. 
 
Comando FOR 
 
Executa um determinado comando para cada arquivo em um grupo de arquivos 
 
Modo de uso em linha de comando: FOR %variable IN (set) DO command [command-parameters] 
Modo de uso em arquivos de lote: FOR %%variable IN (set) DO command [command-parameters] 
poderiamos digitar o seguinte comando for %1 in (*.txt) do type %1 
 
Sintaxe: 
FOR %variable IN (set) DO command [command-parameters] 
 
Exemplo 1 
------------------------------------------------------------- 
@echo off 
cls 
echo Listando os arquivos que podem ser apagados. 
echo -------------------------------------------- 
for %%1 in (*.tmp *.bak *.old) do @echo %%1 
echo -------------------------------------------- 
echo Fim da lista. 
------------------------------------------------------------- 
 
Neste exemplo o comando "FOR" mostra o nome de todos os arquivos que possuirem a extensão 
*.tmp, *.bak e *.old. 
 
Exemplo 2 
------------------------------------------------------------- 
@ECHO OFF 
for /l %%1 in (1,1,50) do @echo Eu sei contar ate %%1 
------------------------------------------------------------- 
Onde está 1,1,50 significa de 1 em 1 até 50, tente alterar até 5000 ! 
E nestes exemplos o comando usa %% para ser usado em arquivios de lote, se for executar na linha 
de comando usa apenas %. 
 
 
www.mcsesolution.com.br 
Comando Choice 
Exibe uma mensagem de aviso especificada, efetua uma pausa para o usuário escolher entre um 
conjunto de teclas especificado e fornece um parâmetro ERRORLEVEL para um programa de lote. 
Sintaxe : 
CHOICE [/C[:]teclas] [/N] [/S] [/T[:]c,nn] [texto] 
 
FrownAtenção - o utilitário choice não está disponível no Windows XP e nem no Windows 2000 
Server e Professional. Mas pode ser feito o download e utilizado normalmente, porém muda as 
sintaxes dependendo da versão. 
 
Exemplo: 
----------------------------------------------------------------------- 
@echo off 
cls 
echo Escolha a cor que deseja utilizar (O comando color funciona apenas no 
w2k em diante) 
echo A - Verde 
echo B - Azul 
echo C - Rosa 
choice /c:abc Escolha a cor 
 
if errorlevel 3 goto rosa 
if errorlevel 2 goto azul 
if errorlevel 1 goto verde 
 
:verde 
color 2 
goto fim 
 
:azul 
color 1 
goto fim 
 
:rosa 
color 5 
goto fim 
:fim 
-----------------------------------------------------------------------Nesse exemplo criamos um menu com 3 opções de cores para o prompt e usamos o comando choice 
para fazer a escolha 
 
O membro do grupo, Otto Luiz Castro Nunes comentou sobre o artigo indicando que o choice 
também não está disponivel no Windows Server 2000. 
Obrigado por colaborar. 
Não se preocupe, está nos mais atuais. Até mesmo no Windows 8. 
 
www.mcsesolution.com.br 
Comando Netsh 
 
O Comando Netsh é muito poderoso, e após um tempo utilizando este comando, acredito que você 
não vai abrir as configurações de rede e alterar o IP na Interface Grafica. 
 
Podemos também utilizar esse comando em arquivos de lote a fim de mudar as configurações de 
multiplos computadores que executam o Windows XP, Server 2003, Vista e 2008. 
O que pode ser feito com o comando NETSH.EXE ?? 
 
 Visualizar as configurações de TCP/IP: 
netsh interface ip show config 
 
 Alterar o IP da maquina para 192.168.1.1 e mascara 255.255.255.0 
netsh interface ip set address name="conexão local" static 192.168.1.1 
255.255.255.0 
 
 Alterar as configurações de TCP/IP para utilizar o endereço IP 10.0.0.2 com o gateway 10.0.0.1: 
netsh interface ip set address name="Local Area Connection" static 
10.0.0.2 255.0.0.0 10.0.0.1 1 
 
 Exportar as configurações de TCP/IP para um arquivo de texto: 
netsh -c interface dump > c:\location1.txt 
 
 Importar as configurações de TCP/IP de um arquivo de texto. 
netsh -f c:\location1.txt 
 
 Configurar para obter IP a partir de um servidor DHCP. 
netsh interface ip set address name="Local Area Connection" dhcp 
 
 Configurar o DNS 
netsh interface ip set dns "Local Area Connection" static 10.0.0.1 
 
 Configurar o WINS 
netsh interface ip set WINs "Local Area Connection" static 10.0.0.1 
 
 Deixar o DHCP entregar o endereço do DNS. 
netsh interface ip set dns "Local Area Connection" dhcp 
 
 Desabilitar a Placa de Rede 
netsh interface set interface "Local Area Connection 2" DISABLED 
 
 Renomear a placa de Rede 
netsh interface set interface name="Local Area Connection" newname= 
%NOVONOME% 
 
 Desabilitar ou habilitar o Firewall 
netsh firewall set opmode mode=enable 
 
Windows Server 2008 
 Definir Proxy 
netsh winhttp set proxy 192.168.4.4:66 
 
www.mcsesolution.com.br 
 
 Exibir configuraão do NAP 
netsh nap client show configuration 
 
Referencia do comando Netsh no Technet: 
http://technet.microsoft.com/en-us/library/cc754516.aspx

Mais conteúdos dessa disciplina