Como criar BAT complexos para DOS
As vezes precisamos criar BATs mais complexos, seja para backup ou para cópia de informações. Navegando na internet as vezes encontramos em alguns foruns a informação necessária, mas, é muito vasta e diversificada, portanto, resolvi registrar aqui neste post algumas funcionalidades importantes.
Informações contendo data e acessando um endereço FTP.
Modelo encontrado em http://eng.registro.br/pipermail/gter/2010-January/028798.html
Exemplo, criado por mim, para obtenção da versão do sistema, dentro de uma biblioteca .pas (arquivo texto) Note que neste caso o BAT vai pegar informações de dentro de um arquivo texto e colcoar numa variável que pode posteriormente ser usada da forma que se desejar.
Nosso bat vai pegar apenas o seguinte texto: "v2.8.10"
-> biblioteca.pas -----------
codigo
codigo
codigo
// Versao do sistema: Versao=/v2.8.10/
codigo
codigo
codigo
-> versao.bat ---------------
@echo OFF FOR /F "tokens=1,2,3 delims=/ " %%A in ('GREP "Versao=/v" biblioteca.pas') do @(
Set varia=%%A
Set versao=%%B
Set info=%%B
)
@echo %versao%
Algo similar em Linux seria assim:
#-------------------------------------------
#
# Bash - versao.sh
# Programador - Valmor Pereira Florez
#---------------------------------------------------
#!/bin/bash
# Pega a versao do VABIBL2001.pas
var=$(cat /mnt/projetos/local/lucrativo/comum/VABIBL2001.pas |grep 'Versao=' |cut -c 27-33)
echo $var
Informações contendo data e acessando um endereço FTP.
Modelo encontrado em http://eng.registro.br/pipermail/gter/2010-January/028798.html
@echo off For /F "tokens=1,2,3,4 delims=/ " %%A in ('Date /t') do @( Set semana=%%A Set dia=%%B Set mes=%%C Set ano=%%D ) echo Semana = %semana% echo Dia = %dia% echo Mes = %mes% echo Ano = %ano% echo open 10.0.1.250> tmp.ftp echo root>> tmp.ftp echo ******* >> tmp.ftp echo get /partition/bandwidthd/log.1.0.cdf F:\logs\trafego\log\diario\%dia%-%mes%-%ano%.txt >> tmp.ftp echo get /partition/bandwidthd/log.2.0.cdf F:\logs\trafego\log\semanal\%semana%.txt >> tmp.ftp echo get /partition/bandwidthd/log.3.0.cdf F:\logs\trafego\log\mensal\%mes%-%ano%.txt >> tmp.ftp echo get /partition/bandwidthd/log.4.0.cdf F:\logs\trafego\log\anual\%ano%.txt >> tmp.ftp echo quit >> tmp.ftp ftp -s:tmp.ftp del tmp.ftp
Exemplo, criado por mim, para obtenção da versão do sistema, dentro de uma biblioteca .pas (arquivo texto) Note que neste caso o BAT vai pegar informações de dentro de um arquivo texto e colcoar numa variável que pode posteriormente ser usada da forma que se desejar.
Nosso bat vai pegar apenas o seguinte texto: "v2.8.10"
-> biblioteca.pas -----------
codigo
codigo
codigo
// Versao do sistema: Versao=/v2.8.10/
codigo
codigo
codigo
-> versao.bat ---------------
@echo OFF FOR /F "tokens=1,2,3 delims=/ " %%A in ('GREP "Versao=/v" biblioteca.pas') do @(
Set varia=%%A
Set versao=%%B
Set info=%%B
)
@echo %versao%
Algo similar em Linux seria assim:
#-------------------------------------------
#
# Bash - versao.sh
# Programador - Valmor Pereira Florez
#---------------------------------------------------
#!/bin/bash
# Pega a versao do VABIBL2001.pas
var=$(cat /mnt/projetos/local/lucrativo/comum/VABIBL2001.pas |grep 'Versao=' |cut -c 27-33)
echo $var
Comentários
Postar um comentário