Modificar un registro en un archivo txt

Iniciado por djrubens, 14 Marzo 2017, 21:31 PM

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

djrubens

Necesito ayuda con un bat en el que pueda modificar registros de una agenda.
El for es lo que me está fallando y no se como hacerlo

@echo off

::menu
set DNI3=
echo --------Modificar---------
echo Para Modificar dame el DNI.
echo --------------------------
set /p DNI3=

set op=

:menu
echo ¿Que parametro quiere cambiar?
echo 1.-El nombre.
echo 2.-El apellido.
echo 3.-El telefono.

set /p op= Dime la opcion que quieres cambiar:

if #%op%# == #1# goto nombre
if #%op%# == #2# goto apellido
if #%op%# == #3# goto telefono

:nombre
set /p modificar= Escriba el nombre a modificar:
set /p mod= Escriba el nuevo nombre:
goto modif

:apellido
set /p modificar= Escriba el apellido a modificar:
set /p mod= Escriba el nuevo apellido:
goto modif

:telefono
set /p modificar= Escriba el telefono a modificar:
set /p mod= Escriba el nuevo telefono:
goto modif

:modif
for /f "tokens=1-4 delims=:" %%i in (Agenda.txt) do (

If %%i == %DNI3% (echo DNI: %%i Nombre: %%j Apellidos: %%k telefono: %%l)
set "linea=%%i"
set linea=linea:%modificar%=%mod%:%mod%:%mod%

)

:fin