Estou tentando usar BAT para fazer uma tarefa da seguinte forma: Ele lê um arquivo, procura uma caractere especifico nas ultimas 2 linhas, se encontrou ele abre uma mensagem e grava em txt um arquivo com as 2 ultimas linhas que ele encontrou.
Eu já tenho um código que faz isso e já uso algum tempo, mas agora o software que gera esse arquivo que preciso ler, ele muda de nome todo o dia com o mês e dia que está gravando. (MM_04_DD_13.csv)
O que eu preciso é que ele pegue o arquivo mais recente e leia para achar o caráter especifico.
Por favor vocês podem me ajudar?
@echo off
SetLocal EnableDelayedExpansion
:: Informe aqui o local do arquivo onde quer copiar as últimas 20 linhas:
set Arquivo=C:\Users\we\Desktop\Ler nok na 30\MM_04_DD_13.csv
:: Informe a quantidade de linhas que você quer:
set Linhas=2
:: Informe um termo D pesquisado:
set Termo=N
::Informe o arquivo onde vai ser armazenado o resultado
set Resultado=Ocorrência de NOK.txt
::Informe Informe o Limite da quantidade do termo pesquisado para receber uma mensagem
set LimiteTermo=1
for /f %%a in ('type "%Arquivo%" ^|find /i /v /c ""') do set LinhasTotal=%%a
set /a LinhasSubtraidas=%LinhasTotal% - %Linhas%
more +%LinhasSubtraidas% "%Arquivo%">"%Resultado%"
for /f "usebackq delims=" %%a in ("%Resultado%") do (
set Entrada=%%a
call :ProcuraTermo
)
chcp 1252 > nul
IF %QuantidadeTermo% GTR %LimiteTermo% MSG * Atenção^^! VERIFICAR SE ALGUMA ESTAÇÃO ESTÁ DESATIVADA"
echo.
:ProcuraTermo
set "Tempo=!Entrada:~%Contador%,1!"
IF "%Tempo%"=="%Termo%" set /a QuantidadeTermo+=1
IF /i not Defined Tempo (
set Contador=0
goto :EOF
) Else (
set /a Contador+=1& goto :ProcuraTermo)
:EOF
Pergunta
Wesley Venancio
Olá pessoal!
Estou tentando usar BAT para fazer uma tarefa da seguinte forma: Ele lê um arquivo, procura uma caractere especifico nas ultimas 2 linhas, se encontrou ele abre uma mensagem e grava em txt um arquivo com as 2 ultimas linhas que ele encontrou.
Eu já tenho um código que faz isso e já uso algum tempo, mas agora o software que gera esse arquivo que preciso ler, ele muda de nome todo o dia com o mês e dia que está gravando. (MM_04_DD_13.csv)
O que eu preciso é que ele pegue o arquivo mais recente e leia para achar o caráter especifico.
Por favor vocês podem me ajudar?
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.