Ir ao conteúdo

Posts recomendados

Postado

Preciso de um batch que leia um arquivo texto num diretório específico e com nome específico (EX: CB*.TXT).
Esse arquivo possui 400 posições e nesse mesmo arquivo preciso identificar as linhas que possuem na posição 109-110 o código 33.
Identificando, essas linhas que possuem esse código 33, elas deverão ser excluídas.
Após a exclusão deve-se reordenar o arquivo e ajustar o sequencial que fica na posição 396-400, ou seja, ajustar a última linha conforme a anterior.

No arquivo exemplo, preciso apagar as linhas 00005, 00006 e 00007 e após ajustar o sequencial para finalizar com 00005 no lugar de 00008.

@ricardo_br e demais parceiros, me ajudem.

 

CBTESTE.TXT

  • Solução
Postado

Algo assim:

 

@echo off

set Arquivo=D:\Downloads\CBTESTE.TXT

for %%a in ("%Arquivo%") do (
                             set Caminho=%%~dpna
                             set Extensao=%%~xa
                            )

for /f "usebackq Delims=" %%a in ("%Arquivo%") do call :Editar "%%~a"

pause
exit

:Editar
set "Posicao=%~1"
if /i "%Posicao:~108,2%"=="33" goto :EOF
set /a Contador+=1
set ContadorZ=00000%Contador%
set ContadorZ=%ContadorZ:~-5%
For %%a in ("%Posicao:~0,-5%") do >>"%Caminho%_mod%Extensao%" echo %%~a%ContadorZ%
goto :EOF

 

  • Curtir 1
  • 3 semanas 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...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!