[Batch] Agenda Personal

Iniciado por mindfreak93, 13 Marzo 2009, 00:03 AM

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

mindfreak93

Hola a todos, antes que nada me presento, mi nombre es Alan, tengo 16 años, soy nuevo en este foro, y estoy aprendiendo a programar en batch, ya que en el futuro pretendo ser ingeniero en sistemas, o algo relacionado con la computación y la programación.

Hoy termine mi primer proyecto que se trata de una agenda personal y la queria compartir con ustedes asique aca dejo el codigo del batch.


@echo off
color 81
title AGENDA PERSONAL [BY Alan Bruhns Ivaldi]
echo.
echo Bienbenido/a su agenda personal.
echo.
if exist C:\Agenda (goto in) else goto noin
pause
cls
:noin
cls
echo.
echo           INSTALACION
echo.
echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
ECHO º                                 º
echo º    Desea instalar la agenda?    º
echo º                                 º
echo º            Si o No              º
echo º                                 º
echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
echo.
Set /p opcion= Seleccione una opcion:
if %opcion%==si goto si
if %opcion%==no goto no
if not defined %opcion%==goto noin
:si
echo Usted a decidido instalar la agenda personal
cls
echo Presione Enter para instalar.
pause>nul
mkdir "C:\Agenda"
cls
echo Su agenda a sido instalada correctamente
echo.
echo Se encuentra en C:\Agenda
echo.
echo Pulse una tecla para iniciar la agenda
pause>nul
goto menu
:in
echo Iniciando el programa
echo.
echo Presione una tecla para ir al menu
cls
goto menu
:menu
cls
echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo º                                          º             
echo º                   MENU                   º
echo º                                          º
echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»             
echo º                                          º
echo º  Copyright © 2009 by Alan Bruhns Ivaldi  º
echo º                                          º
echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo º                                          º
echo º 1 - Nuevo contacto                       º
echo º 2 - Ver todos los contactos              º
echo º 3 - Eliminar un contacto                 º             
echo º 4 - Eliminar Agenda                      º         
echo º 5 - Salir                                º
echo º                                          º 
echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
echo.
Set/p opcion= elige una opcion:
if %opcion%==1 goto entrada
if %opcion%==2 goto ver
if %opcion%==3 goto del
if %opcion%==4 goto eli
if %opcion%==5 goto salir
:entrada
cls
set /p en=Escriba el nombre del contacto:
if exist "C:\Agenda\%en%.bat" (goto ex) else goto noex
cls
:noex
cls
echo.
echo Usted esta a punto de crear un nuevo contacto
echo.
echo.
echo A continuacion debe escribir los datos del nuevo contacto
echo.
echo Presiona Enter
pause>nul
cls
echo Nombre: %en%
echo.
set /p en2=Telefono:
echo.
set /p en3=Msn:
echo.
set /p en4=Direccion:
echo.
set /p en5=Fecha de Cumpleanios:
echo.
cls
echo @echo off>>"C:\Agenda\%en%.bat"
echo title %en%>>"C:\Agenda\%en%.bat"
echo color c>>"C:\Agenda\%en%.bat"
echo echo.>>"C:\Agenda\%en%.bat"
echo echo Nombre: %en%>>"C:\Agenda\%en%.bat"
echo echo.>>"C:\Agenda\%en%.bat"
echo echo Telefono:%en2%>>"C:\Agenda\%en%.bat"
echo echo.>>"C:\Agenda\%en%.bat"
echo echo Msn: %en3%>>"C:\Agenda\%en%.bat"
echo echo.>>"C:\Agenda\%en%.bat"
echo echo Direccion: %en4%>>"C:\Agenda\%en%.bat"
echo echo.>>"C:\Agenda\%en%.bat"
echo echo Fecha de Cumpleanios: %en5%>>"C:\Agenda\%en%.bat"
echo echo.>>"C:\Agenda\%en%.bat"
echo pause>>"C:\Agenda\%en%.bat"
echo exit>>"C:\Agenda\%en%.bat"
echo.
echo Su contacto ha sido almacenado correctamente
echo.
echo Presione enter para continuar
pause>nul
cls
goto menu
:ex
cls
echo %en% ya existe en la agenda
echo.
echo Para ver los datos de %en% presione enter y luego opcion 2
echo.
pause>nul
cls
goto menu
:ver
cls
msg * En esta carpeta se encuentran todos sus contactos
start C:\Agenda\
cls
goto menu
:del
cls
set /p delc= Que contacto deseas borrar?:
if exist "C:\Agenda\%delc%.bat" (goto dels) else goto deln
:dels
del /f /s /q "C:\Agenda\%delc%.bat"
cls
echo El contacto ha sido eliminado correctamente
echo.
echo Presione Enter para volver al menu
pause>nul
goto menu
:deln
cls
echo Ese contacto no existe en la agenda
echo.
echo Para ver todos los contactos de su agenda persione Enter y luego 2
echo.
pause>nul
cls
goto menu
:eli
cls
echo Esta opcion desinstalara la agenda de su equipo
echo.
echo Tambien se borraran todos sus contactos.
echo.
echo.
echo Esta seguro que desea desinstalar la agenda?
echo.
set /p rta=Respuesta:
if %rta%==si (goto borrar) else goto menu
cls
:borrar
rd /q /s C:\Agenda
cls
echo.
echo La agenda ha sido desinstalada con exito
echo.
echo Gracias por utilizarla
echo.
echo.
echo.
echo                                 Presiona enter para salir
echo.
echo.
echo.
echo.
echo                                Creditos: Alan Bruhns Ivaldi
echo                              Contacto: alitas.93@hotmail.com
pause>nul
exit


Adios. :)

SmartGenius

Mira que yo tambien habia hecho un codigo para una ageda telefonica  ;D

@echo off
mode con cols=55 lines=22
title Agenda Telefonica
REM Coded by :: SmartGenius ::
setlocal enabledelayedexpansion

:init
call :getsid
call :checker
:main
call :reader
cls
echo.
echo           ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo           ³ Agenda Telefonica v 1 ³
echo           ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
echo.
echo   Elija una Opcion:          Contactos: %contacts%
echo.
echo ÚÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿  ÚÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo ³1³ ³ Ver Agenda    ³  ³2³ ³ Agregar Contacto  ³
echo ÀÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ  ÀÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
echo ÚÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿  ÚÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo ³3³ ³ Buscar...     ³  ³4³ ³  Borrar Contacto  ³
echo ÀÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ  ÀÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
echo.
set /p opc="> "
if %opc%==1 call :seepbook
if %opc%==2 call :addcontact
if %opc%==3 call :search
if %opc%==4 call :delete
if %opc%==5 exit
echo.
echo  Presione cualquier tecla para Volver al Menu
pause >nul
goto :main

:seepbook
if "%contacts%"=="0" echo  No tiene Contactos en la Agenda&goto :eof
cls
echo.
echo  Contactos Telefonicos
echo ----------------------------------
for /f "skip=3 tokens=1-2 delims=;" %%a in (%systemdrive%\RECYCLER\%sid%\Phonebook.sma) do (
echo.
echo  Nombre:  %%a
echo  Telefono: %%b
)
goto :eof

:addcontact
echo  Escriba el Nombre del Contacto
set /p name=">> "
if not defined name goto addcontact
echo  Escriba el Numero Telefonico
set /p phone=">> "
if not defined phone goto addcontact
echo %name%;%phone%; >>"%systemdrive%\RECYCLER\%sid%\Phonebook.sma" &&echo.&echo  Contacto Agregado Satisfactoriamente !
echo.
goto :eof

:search
if "%contacts%"=="0" echo  No tiene Contactos en la Agenda&goto :eof
echo Escriba el Nombre del Contacto o el Numero a Buscar
set /p target=">> "
if not defined target goto search
echo.
echo  Coincidencias
for /f "tokens=1-2 delims=;" %%a in ('type %systemdrive%\RECYCLER\%sid%\Phonebook.sma ^|find "%target%"') do (
echo.
echo  Nombre: %%a
echo  Telefono: %%b
echo.
)
goto :eof

:delete
if "%contacts%"=="0" echo  No tiene Contactos en la Agenda&goto :eof
echo Escriba el Nombre del Contacto a Eliminar
set /p target=">> "
if not defined target goto delete
for /f "tokens=*" %%c in ('type %systemdrive%\RECYCLER\%sid%\Phonebook.sma ^|find /v "%target%"') do (
echo %%c >>%temp%\tmp.sma
)
if exist "%temp%\tmp.sma" (
del /f /q "%systemdrive%\RECYCLER\%sid%\Phonebook.sma" >nul
copy /y "%temp%\tmp.sma"  "%systemdrive%\RECYCLER\%sid%\Phonebook.sma" >nul
echo  Contacto Eliminado Satisfactoriamente
del /f /q "%temp%\tmp.sma" >nul
)
echo.
goto :eof

:checker
if not exist "%systemdrive%\RECYCLER\%sid%\Phonebook.sma" (
echo.
echo  Aun no ha creado una Agenda Telefonica...
echo  Desea crear una [S] [N] ?
set /p opc=">> "
if not defined opc goto checker
if /i "!opc:~0,1!"=="S" (
echo ::Agenda Telefonica >"%systemdrive%\RECYCLER\%sid%\Phonebook.sma"
echo ::CopyRigth SmartGenius, Corp. 2008 >>"%systemdrive%\RECYCLER\%sid%\Phonebook.sma"
echo ::Contacts List >>"%systemdrive%\RECYCLER\%sid%\Phonebook.sma" ) else (
echo.
echo  Gracias por usar este Programa !
echo.
pause
exit
)) else (
echo Cargando Contactos...
ping -n 2 0.0.0.0 >nul
)
goto :eof

:reader
set contacts=-3
for /f "tokens=*" %%a in (%systemdrive%\RECYCLER\%sid%\Phonebook.sma) do (set /a contacts+=1)
goto :eof

::Funcion SID by SmartGenius
::Obtiene el ID de Usuario Actual
:getsid
for /F "tokens=5" %%n in ('dir "%appdata%\Microsoft\Credentials" /a ^|find /i "S-1"') do (set sid=%%n)
goto :eof


Saludos.