tengo esta agenda, pero no consigo que modifique ni que elimine solo el registro, esto es lo que tengo de la agenda:
Si alguien puede ayudarme...
Código (bash) [Seleccionar]
@echo off
:menu
cls
echo.
echo.
echo **************************************
echo ** AGENDA TELEFONICA **
echo ** **
echo ** 1. Agregar **
echo ** **
echo ** 2. Modificar **
echo ** **
echo ** 3. Borrar **
echo ** **
echo ** 4. Buscar **
echo ** **
echo ** 0. Salir **
echo ** **
echo **************************************
echo.
echo Escoger opcion:
set /p opt=
if %opt%==1 goto :agregar
if %opt%==2 goto :modificar
if %opt%==3 goto :borrar
if %opt%==4 goto :buscar
if %opt%==0 goto :salir
goto menu
:agregar
cls
set /p agregar= Nuevo nombre:
echo.
set /p telefono= Numero telefono:
echo.
echo %agregar% : %telefono%>> agenda.txt
echo Registro agregado
echo.
echo Pulse una tecla para volver al menu
pause>nul
goto :menu
:modificar
cls
set /p modificar= Escriba el nombre a modificar:
set /p mod= Escriba el nuevo nombre:
for /f "tokens=* delims=" %%x in ('type Registros') do (
set /a conta +=1
set linea=%%x
set linea=!linea:%modificar%=%mod%!
call :show !linea!
)
goto :menu
:show
echo %* >> out.txt
if !conta!==1 (
echo.>Registros
)
type out.txt >> Registros
del /f /a /q out.txt
pause>nul
goto :menu
:borrar
cls
set /p borrar= Nombre del contacto a eliminar:
if exist "agenda\%borrar%.bat" (goto dels) else (goto deln)
:dels
del /f /s /q "G:\agenda\%borrar%.bat"
cls
echo El contacto ha sido eliminado correctamente
pause>nul
goto :menu
:deln
cls
echo Ese contacto no existe en la agenda
echo.
:buscar
cls
echo.
set /p find= Buscar:
cls
echo.
echo Resultados:
echo.
find /n /i "%find%" agenda.txt
echo Pulse una tecla para volver al menu
pause>nul
goto :menu
:salir
cls
echo Ok, presione cualquier tecla para salir
pause>nul
exit
También tengo otro problema, que no consigo que me lo ordene de esta manera:
un asterisco y un número par en la misma línea en un archivo y un asterisco y un número impar en una línea en otro archivo, :así
* 2
* 6
en el otro archivo así
* 1
* 5
tengo esto
@echo off
cls
echo Voy a ordenar el fichero txt:
echo.
set /p ordenar=
sort %ordenar%
echo Archivo ordenado
echo.
echo Pulse una tecla para volver al menu
pause>nul
Si alguien puede ayudarme...