Necesito leer archivo .txt línea por línea y eliminar filas si es que no tiene un largo predeterminado.

Necesito realizar un script batch con MS-DOS el cual me permita leer el largo de la fila y en caso de que el largo sea < que el limite eliminar esa fila.

Solo se leer el archivo pero lo de las líneas me esta costando.

Estaré atento.

1 Respuesta

Respuesta
1

Creo que esto te podría funcionar:

He puesto longlin = 10, este es el límite por debajo del cual no se escribe la línea,

@echo off
Setlocal EnableDelayedExpansion
del kkk.txt
set longlin=10
for /f "tokens=*" %%a in (lillo.txt) do (
set linea=%%a
set aux=!linea:~%longlin%!
if not "!aux!" == "" echo %%a >> kkk.txt
)
Echo copy /y kkk.txt lillo.txt

pero podrías poner el valor que quisieras, incluso hacer que sea un parámetro de la llamada al BAT. Y al archivo a revisar le he llamado lillo.txt. Le pones el que corresponda y también podría ser un parámetro de la llamada. Por último la salida se graba en kkk.txt y se respeta el archivo original. Si se quisiera reemplazar bastaría quitarle el "echo" a la última instrucción para que haga el "copy" en lugar de "simularlo". Ya me contarás si te va bien o no y si quieres alguna "mejora".

¡Gracias! ¡Muchas gracias!

Me ha servido muchísimo este script.

Lo he entendido y he complementado con lo que yo sabia.

Un abrazo desde Santiago de Chile.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas