buenas,soy nuevo en el blog.
una consulta,tengo que crear un archivo batch que me guarde datos de un cliente,por ejemplo su documento. Tambien que un archivo se guarden los datos de este cliente,por ejemplo su nombre o direccion,etc. Luego mediante alguna manera.poder buscar los datos de este cliente mediante su documento o mediante la fecha en que se contrato el servicio (esto me mostraria los clientes que econtrataron el servicio en esta fecha) . muchas gracias
Hola, esto no es un Blog, esto es un Foro, y no se hacen tareas.
Postea lo que tengas codeado y si tienes alguna dificultad te ayudaran.
Saludos.
Hola amigo. Te referis a que postee lo que tengo hecho hasta el momento?
Es esto:
echo off
cls
:inicio
cls
color 1
echo IIIIIIIIIIIIIIIIIIIIIIIIIIII
echo III III
echo III "PATITAS FELICES" III
echo III Hotel Canino III
echo III III
echo III Ingresar III
echo III Si o No III
echo III III
echo IIIIIIIIIIIIIIIIIIIIIIIIIIII
set/p opcion=Ingrese una opcion:
if %opcion%==No goto inicio
if %opcion%==Si goto si
cls
:si
cls
color 3
echo IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
echo III III
echo III 1. Ingreso de Clientes. III
echo III 2. Agendar servicio. III
echo III 3. Lista de clientes. III
echo III 4. Lista de servicios agendados. III
echo III 5. Calculo de servicios contratados. III
echo III 6. Salir. III
echo III III
echo IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
set/p opcion=Ingrese el numero de la opcion que desea realizar:
if %opcion%==1 goto ingresarclientes
if %opcion%==2 goto agendarservicio
if %opcion%==3 goto listadeclientes
if %opcion%==4 goto listadeservicios
if %opcion%==5 goto calculodeservicios
if %opcion%==6 goto inicio
cls
:ingresarclientes
cls
color 4
echo Aqui podra ingresar un nuevo cliente.
set/p opcion=1 para volver al menu anterior 2 para salir
if %opcion%==1 goto si
if %opcion%==2 goto inicio
cls
:agendarservicio
cls
color 7
echo Aqui podra agendar un servicio.
cls
:listadeclientes
cls
color 4
echo Aqui esta la lista de clientes.
cls
:listadeservicios
cls
color 7
echo Aqui esta la lista de servicios agendados.
cls
:calculodeservicios
cls
color 4
echo Aqui estan los calculos de los servicios contratados.
cls
pause
MOD: Etiqueta GeSHi
alv, solo tienes el menú y esperas que te hagamos ayudemos con todo lo demás ?
Bueno, ya enserio, batch no te va a servir, a no ser que uses alguna que otra herramienta comandline .
Lo que se me ocurre es que guardes los datos en un .ini , o con algún tipo de delimitador para poder serializar los datos. Tendrías los registros de los usuarios en puros documentos de texto... .txt básicamente.
Para buscar, seria un dolor de cabeza, no solo seria lento, también ineficiente.
Solo te recomiendo que no lo hagas en batch.
Básicamente el truco está es como guardar los datos, normalmente se usa un separador de datos como ; (línea 6)
Rem Datos de Cliente
Set "id=0"
Set "nombre=pepe"
Rem Guardar datos del Cliente
Echo %id%;%nombre% >> clientes.txt
Rem Buscar Cliente por id
Set "id=0"
For /F "tokens=1,2 delims=;" %%a In ('FindStr /B %id% clientes.txt') Do (
Echo ID: %%a
Echo Nombre: %%b
)
Luego la búsqueda de datos se hace por un campo Identificador, no más eficiente sería usar FindStr (línea 10), pero si el ejercicio lo pide también se puede implementar un Bucle que recorra línea a línea. Claro que se tiene que usar Tokens para preparar la línea obtenida (línea 10) en el ejemplo se busca por ID y de la línea hallada se tomas los Tokens 1 y 2 donde el separador de Tokens es el Deliminator ;, a cada Token le corresponde un consecutivo de la variable utilizada, en mi ejemplo usé %%a así que ese es el Token 1 y el 2 sería %%b (líneas 11 y 12)
Ya solo resta hacer algo muy similar para tus Servicios, y si se requiere validación de datos existentes de igual manera te sirve FindStr o un Bucle línea a línea