Ir ao conteúdo
  • Cadastre-se

Outro Bat com o comando Findstr


Posts recomendados

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

 

 

 

Link para o comentário
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"
)

 

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

  • 3 meses depois...

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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 comunidades 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

×
×
  • Criar novo...