Ir ao conteúdo
  • Cadastre-se
ThiaGoOhh

Outro Bat com o comando Findstr

Recommended Posts

Bom dia Galera,

agradeço desde já

Estou montando um Bat para fazer um rotina para chegar uma pasta com Backup's de um sistema.

Ele ira pegar a data atual diminui 1 dia  e verifica um  log.txt da pasta onde contem os backup's listado

caso tenho um backup com a data de 1 dia atras ele me retorna  "existe um arquivo " caso 

nao exita  me retorna um erro.

o comando funciona caso eu não use a variavel  %Backup%. se eu digitar 20180222 e me retorna a msg.

desculpa sou meio ruim na parte de organizar os comandos.

o comando ainda não esta pronto, irei organizar ele mais tarde pois falta eu incluir outras linhas de comando.

 

 segue ele...rem pega a data atual
set dia_atual=%date:~0,2%

set mes=%date:~3,2%
set ano=%date:~6,4%
cls
rem pega a data atual e diminui 1 dia
SET /A "dia"="%dia_atual%"-"1"

echo %ano%%mes%%dia% >>data.log
Set backup =%ano%%mes%%dia%

rem verifica o arquivo Log.txt se existe em algum arquivo listado a data de 1 dia atras.

Findstr /m %backup% log.txt
if %errorlevel%==0 (
echo existe esse nome
) else ( 
echo não existe esse arquivo
)
pause

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia Galera,consegui resolver

Set backup =%ano%%mes%%dia% Errado

Set backup=%ano%%mes%%dia%   Correto

Set Backup estava com o espaço entre, "Set Backup="
adicionado 0 minutos depois

Segue o comando Completo.

@ECHO OFF
@CLS
@COLOR 02

Rem Variavel para pegar a data atual invertida
set dia_atual=%date:~0,2%
set mes=%date:~3,2%
set ano=%date:~6,4%

Rem pega a data atual e diminui 1 dia 
SET /A "dia"="%dia_atual%"-"1"

Rem Variavel da atual menos 1 dia
Set backup=%ano%%mes%%dia%

Rem Variavel do caminho onde estão os Backup's do sistema
set relatorio=D:\backup

Rem Cria um Log dos Backup's que estão na Pasta.
dir "%relatorio%" /b /o-d /a-d > log.txt

Rem verifica o arquivo Log.txt se existe  a data de 1 dia atras nos arquivos listado em log.txt, caso exista retorna msg ok e fecha. Caso não exista ele chama "Email.vbs" que envia uma email com o erro.
Findstr /m %backup% log.txt
if %errorlevel%==0 (
echo existe um arquivo com a data anterior
exit
) else ( 
@echo off & setlocal
"envia email do log.vbs"
)

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×