Proceso batch lectura de un archivo txt

Como puedo borrar la ultima línea y saber el nombre del archivo txt que esta procesando por un proceso bat.

1 respuesta

Respuesta
2

No entiendo muy bien lo que dices. Para borrar la última línea de un archivo podría valer esto:

@echo off
Setlocal EnableDelayedExpansion
Echo tratando %1
del /q temp.txt>nul 2>&1
for /f "tokens=*" %%i in ('type %1 ^| find /v /c "" ^< %1') do set nlin=%%i
set /a nlin-=1
for /f "usebackq tokens=*"  %%i in (%1) do if not "!nlin!" == "0" echo %%i>> temp.txt&set /a nlin-=1
copy /y temp.txt %1>nul
del temp.txt
Endlocal

Si lo salvas, por ejemplo, como BORULTLIN.BAT y lo invocas de esta manera:

borultlin archivo.txt

Te borrará la última línea del archivo ARCHIVO.TXT (además eliminaría las líneas en blanco si existieran, pero este "defecto" se podría subsanar).

Pero no consigo entender, en este contexto, como puede interesar el nombre del archivo si has tenido que indicárselo al BAT.

¿Qué pasó con esto? ¿Dejó de interesarte o lo resolviste en otro entorno?

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas