Criando Scripts BATCH – COMANDO SET (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.
Operações matemáticas
SET /A expressão
|
( )
|
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
-> 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.
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.
Isso será visto adiante no comando “SETLOCAL”.
Última atualização (Sáb, 03 de Julho de 2010 23:10)
| Artigos relacionados: |
|---|
|
| Powered By relatedArticle |







Comentários
Grato, Anônimo.
To precisando criar uma BAT para instalar uns pacotes ".MSI" pela rede. EX: "\\servidor\paco tes\pacote1.msi" e "\\servidor\paco tes\pacote2.msi". Se for possível instala-los em modo "invisível", melhor ainda. Vc poderia me ajudar, por favor?
set /p 1=02/09/2011
set /p 2=03/09/2011
IF %datee% EQU 1 (GOTO dirr) ELSE (
IF %datee% EQU 2 (GOTO hora) ELSE (
GOTO erro))
:dirr
dir /p c:\Backup\teste .rar
rem teste%dataaa%.rar
pause
:hora
time /t
pause
: erro
echo invalido
pause
qual o meu erro? por que nao funciona?
a logica é show né ?
@echo off
echo escolhe um dia!
set /P dia=
set /a dianegativo=%dia%-1
set data=date %dianegativo%/12/2009
date /t
pause
Gostaria de saber como eu faço para cria uma bat para criar uma variável de ambiente.
Ex:
nome da variável: lm_license_file
valor da variável: 2700@mi
Olá meu amigo, hoje que eu ví que eu respondi em outro comentario.
Mas vamos lá
@ECHO OFF
CLS
REM Separa dia, mes e ano
for /F "delims=/ tokens=1-3" %%A IN ('Date /t') DO @(
SET DIA=%%A
SET MES=%%B
SET ANO=%%C
)
REM Arrumando o problema do 08 e 09 não serem números válidos
IF %DIA%==08 (
SET DIA=8) ELSE (
IF %DIA%==09 (
SET DIA=9) )
REM Exibe a data de hoje
Echo Hoje: %DIA%/%MES%/%ANO%
REM subtrai 1 e exibe
Set /a M1=%DIA%-1
Echo Menos 1 : %M1%/%MES%/%ANO%
Citar
echo %date%=%date%-1
só que não dá certo, o objetivo é mostrar a data atual menos 1 dia.
Obrigado