Añadir información a .txt con batch,a partir de la última línea

Iniciado por VicInFlames, 28 Mayo 2014, 10:19 AM

0 Miembros y 1 Visitante están viendo este tema.

VicInFlames

Muy buenas compañeros,

Tengo un Script creado en batch,en el que añado información a un .txt, en diferentes entradas,limitadas por ahora por su posición..viene a querer ser un calendario,o pequeña agenda

@echo off

if exist mem.txt (goto opcion) else (goto nuevo)

:opcion


echo.
echo Existen entradas antiguas..
echo.
echo 1 -Añadir nueva
echo.
echo 2 -Consultar
echo.

set /p choose=

if %choose%==2 (goto consulta) else (goto mas)

:mas

set /p val4=evento nuevo-

echo.
echo %val4% > mem.txt

goto mostrar


:nuevo

set /p val1=evento--

set /p val2=siguiente evento--

set /p val3=otro evento---

cls
(
echo %val1%
echo %val2%
echo %val3% )>mem.txt

:mostrar

echo ----------------------------------------------------------------------------------------
echo -                                      
echo -  %val1%           %val2%          %val3%       %val4%         %val5%        %val6%
echo -                                      
echo -------------------------------------------------------------------------------------------

pause>nul

:consulta

cls
echo.
echo Buscar
echo.

set /p busca=

cls

findstr %busca% mem.txt
echo.
echo.

pause



El texto queda así

->Primera línea
->Segunda Línea
->Tercera
etc

y cada vez que quiero añadir nueva información,tras cerrar el script,esta,sobreescribe el texto completo..añadiendo solamente la última.

Cómo puedo evitar ese fallo?

Agradecería MUCHÍSIMO que si tienen sugerencias para mejorar el código,o ideas para hacer algo similar,( a ser posible con breve explicación,por que tengo mucho que aprender),las digan.

Gracias por adelantado.

PD: estoy aprendiendo python,quizás sea mucho mas fácil así.

tincopasan

ya que estás aprendiendo python, hacelo en ese lenguaje! tiene muchas más posibilidades.

VicInFlames

Cierto,pero que opciones tendría con un script batch? :D me vendría de maravilla una mano..

Joex_Jokes

Prueba a poner donde haces el redireccionamiento a fichero con un ">", poniendo ">>". Así se te escribirá al final del fichero e imagino que si no existe, lo creará.

Haz pruebas y nos cuentas.

Enviado desde mi XT1032 mediante Tapatalk

shadowhunter

">>" funciona aunque el fichero no exista. si no existe se creara y %val4% sera la primera linea.

De todas formas dado que si no existe el archivo tu lo direccionas a que te lo cree no tendrias ningun inconveniente.

Si lo que quieres es añadir lineas a un archivo ya existente solo cambia tal como te ha dicho Joex_Jokes ">" por ">>"

echo %val4% >> mem.txt

PS: Tambien se puede introducir un string directamente;

echo evento-- >> mem.txt