elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
29 Mayo 2012, 06:58  


Tema destacado: Sigue las noticias más importantes de elhacker.net en ttwitter!

+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting (Moderadores: Novlucker, Leo Gutiérrez., EleKtro H@cker)
| | |-+  [BATCH]Ayuda Base de Datos
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [BATCH]Ayuda Base de Datos  (Leído 699 veces)
geormarsch

Desconectado Desconectado

Mensajes: 117



Ver Perfil
[BATCH]Ayuda Base de Datos
« en: 29 Octubre 2011, 03:43 »

Hola Amigos hoy tengo una duda...
Tengo una base de datos Llamada clientes.txt
En Clientes tengo lo siguiente
------------------------------------
cliente:Perico Los palotes        -
direccion:Angeles 14              -
numero: 1234567                  -
comprasRecientes: Pantalon   -
talla :  46                              -
sexo : M                               -
------------------------------------

Esa es mi base de datos...
ahora de esa base de datos yo quiero obtener solo la linea de que dice 'Cliente'
(Es la primera) Pero si yo quiero buscar una palabre clave dentro de mi BD como lo ago?

Código
@echo off
:menu
cls
echo 1.- Agregar Cliente
echo 2.- Buscar dentro de la BD
set /p o=Elija una opcion :
if not defined o goto menu
if %o%==1 (goto add)
if %o%==2 (goto b) else (goto menu)
 
:add
set /p name= Nombre de cliente :
set /p dire=Direccion :
set /p n= Numero:
set /p c= Compras Recientes :
set /p t= Talla :
set /p s= Sexo:
echo %name%>>%windir%\clientes.txt
echo %dire%>>%windir%\clientes.txt
echo %n%>>%windir%\clientes.txt
echo %c%>>%windir%\clientes.txt
echo %t%>>%windir%\clientes.txt
echo %s%>>%windir%\clientes.txt
echo Generado Correctamente
pause
goto menu
 
:b
cls
set /p bo= Que desea buscar dentro de la DB :
rem ahora no se como hacerlo para buscar y almacenar dentro de una variable
rem agamos que busco talla : 46
if %variable%==%bo% (goto find) else (goto not)
 
:find
cls
echo Se encontro el resultado final
pause
goto menu
 
:not
cls
echo No encontrado
pause
goto menu


En línea

I Can Fly

----------------------

I Love Batch!
Leo Gutiérrez.
. . .. ... ..... ........ ............. .....................
Moderador
***
Desconectado Desconectado

Mensajes: 2.968


/^$/


Ver Perfil WWW
Re: [BATCH]Ayuda Base de Datos
« Respuesta #1 en: 29 Octubre 2011, 06:47 »

Código
type "clientes.txt" | findstr "^cliente"
Código
type "clientes.txt" | find "clientes"


En línea

Código
(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}
 

leorocko13@hotmail.com
https://github.com/leogtzr/
geormarsch

Desconectado Desconectado

Mensajes: 117



Ver Perfil
Re: [BATCH]Ayuda Base de Datos
« Respuesta #2 en: 29 Octubre 2011, 16:48 »

Código
type "clientes.txt" | findstr "^cliente"
Código
type "clientes.txt" | find "clientes"

Me Podrias explicar el primer code por que lleva ^ ?
Otra Cosa Leo Como lo ago para Almacenar lo encontrado en una variable???
En línea

I Can Fly

----------------------

I Love Batch!
Leo Gutiérrez.
. . .. ... ..... ........ ............. .....................
Moderador
***
Desconectado Desconectado

Mensajes: 2.968


/^$/


Ver Perfil WWW
Re: [BATCH]Ayuda Base de Datos
« Respuesta #3 en: 30 Octubre 2011, 00:55 »

^ representa el inicio de cadena.

Como queremos checar la cadena que empiece por clientes, añadimos ^ antes de la palabra "clientes."

Para la segunda duda (No probado).

Código
setlocal enabledelayedexpansion
for /f "tokens=*" %%_ in ('type "clientes.txt" ^| findstr "^cliente"') do (
   set "valor=%%_"
   echo El valor es : !valor!
)
   
http://es.wikipedia.org/wiki/Expresi%C3%B3n_regular
En línea

Código
(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}
 

leorocko13@hotmail.com
https://github.com/leogtzr/
Francisasdasd

Desconectado Desconectado

Mensajes: 175


Whit The Monsters In My Head :S


Ver Perfil WWW
Re: [BATCH]Ayuda Base de Datos
« Respuesta #4 en: 30 Octubre 2011, 02:38 »

Lo mejor que puedes hacer para trabajar con "bases de datos" planas, es trabajarlas con puntos y comas ( ; ) como separadores, como los archivos.csv

Por ejemplo

Código:
cliente;direccion;numero;compra:talla
perico;su casa;14;pantalon;25



Y los puedes identificar por ejemplo añadiendo un correlativo al principio o algo así, para que el programa no se confunda cuando hayan clientes con el mismo nombre. o cuando se repita algun dato, porque mas de alguna vez te puede pasar, y batch solo buscara hasta la primera coincidencia.


Eso saludos :D
En línea

:).
geormarsch

Desconectado Desconectado

Mensajes: 117



Ver Perfil
Re: [BATCH]Ayuda Base de Datos
« Respuesta #5 en: 4 Noviembre 2011, 20:40 »

Muchas Gracias Amigos Tema Solucionado....
En línea

I Can Fly

----------------------

I Love Batch!
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
necesito ver los datos de base datos acces en un grid, ayuda por favor
Programación General
fosito 3 1,207 Último mensaje 15 Marzo 2005, 17:22
por Slasher-K
Base datos en Batch
Programación General
el_cantante 9 1,002 Último mensaje 10 Agosto 2006, 14:38
por el_cantante
[batch]base de datos
Scripting
Mark.18 2 2,405 Último mensaje 16 Octubre 2008, 22:57
por Mark.18
[Batch][Aporte] Base de datos para clientes.
Scripting
geormarsch 7 669 Último mensaje 7 Noviembre 2011, 22:28
por geormarsch
[Batch] Ayuda base de datos
Scripting
juan196518 11 229 Último mensaje 5 Mayo 2012, 22:13
por juan196518
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines