Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: FranciskoAsdf en 24 Marzo 2011, 17:27 pm



Título: [BATCH]Problema con delimitadores xD
Publicado por: FranciskoAsdf en 24 Marzo 2011, 17:27 pm
Estimados, junto con saludarlos acudo a uds para resolver un problema que me tiene un poco loco XDD

A ver, lo que pasa es que tengo que trabajar con dos archivos:
Uno llamado CarroLleno.csv (archivo delimitado por “,” (comas)) que uso como “base de datos”
Y el otro llamado Carrolleno.bat, que es el que me ayuda a consultar en la BD según corresponda.
Por ejemplo esto es un extracto del archivo CarroLleno.csv (ya que contiene mas de 8000 registros xD)
Código:
EAN;PLU_SAP60;Descripcion;Rut_Proveedor;Des_Proveedor;Lunes;Martes;Miercoles;Jueves;Viernes;Sabado
8021684555824;321432;ESPONJA DE BANO BEBE UND;936260004;3M CHILE S.A.;x;;x;;x;
21200510045;402220001;GUANTE MULTIUSO SCOTH BRITE, SMALL;936260004;3M CHILE S.A.;x;;x;;x;
7804629990178;556701;CEREAL XTRONGER HOMBRE 30gr TRIBALANCE;843487009;ABASTECEDORA DEL COMERCIO LTDA.;x;;;;;
7804520985693;9807;PALMITO ENTERO 400GR HORTELANA;843487009;ABASTECEDORA DEL COMERCIO LTDA.;x;;;;;
7804520155102;215770;CHUNO DELICADO 500 GRS;843487009;ABASTECEDORA DEL COMERCIO LTDA.;x;;;;;
7805750356741;202362;RACUMIN CEBO PASTA BAYER.;843487009;ABASTECEDORA DEL COMERCIO LTDA.;x;;;;;
7790387110234;10664;YERBA MATE C/PALO TARAGUI 500GR;843487009;ABASTECEDORA DEL COMERCIO LTDA.;x;;;;;
7790387110159;10665;YERBA MATE TARAGUI 1000 GR;843487009;ABASTECEDORA DEL COMERCIO LTDA.;x;;;;;
7790387110319;211158;YERBA MATE C/PALO TARAGUI 250GR;843487009;ABASTECEDORA DEL COMERCIO LTDA.;x;;;;;
7730114000582;223143;ARROZ G2 GRANO LARGO YEN KILO;856412008;ABU GOSCH ZONA FRANCA;x;;;;;
7790150375655;264649;CALDO P/SAB.GALLINA      40   GR;856412008;ABU GOSCH ZONA FRANCA;x;;;;;
7790150376652;264651;CALDO P/SAB.VERDURA      40   GR;856412008;ABU GOSCH ZONA FRANCA;x;;;;;
6001120071158;141232;MARSHMALLOWS BLANCO BEACON 150 GRS;856412008;ABU GOSCH ZONA FRANCA;x;;;;;
7798100661452;230850;TOMATES CUBET.C/ALBAHACA 1 KG.;856412008;ABU GOSCH ZONA FRANCA;x;;;;;

Y acá el codidgo del batch

Código:
@Echo Off&Title Carro Lleno v1.0&Color A
:Inicio
Echo.
Cls
SET /P "Material=Ingrese EAN o Material a buscar: "

FOR /F "Tokens=1-11 Delims=;" %%A IN ('Type CarroLleno.csv ^|Find.exe /I "%Material%"') DO (
ECHO.
ECHO EAN PRINCIPAL : %%A
ECHO MATERIAL : %%B
ECHO TEXTO BREVE : %%C
ECHO RUT PROVEEDOR : %%D
ECHO PROVEEDOR : %%E
ECHO LUNES : %%F
ECHO MARTES : %%G
ECHO MIERCOLES : %%H
ECHO JUEVES : %%I
ECHO VIERNES : %%J
ECHO SABADO : %%K
)
PAUSE
GOTO :Inicio

Lo que hace básicamente es buscar según EAN o MATERIAL lo que yo le consulte.
Como verán el archivo CarrLleno.csv se divide en: EAN;PLU_SAP60;Descripcion;Rut_Proveedor;Des_Proveedor;Lunes;Martes;Miercoles;Jueves;Viernes;Sabado

El problema está en los días donde puedo pedir ese producto, porque se almacenan con una “X” los dias en los que puedo hacer un pedido de compras.

Por ejemplo si consulto el primer Producto que tiene pedido los días Lunes, Miercoles y Viernes me muestra algo como lo siguiente

(http://i52.tinypic.com/e1daoy.jpg)

Pero esta mal porque me sale que puedo pedir Lunes, Martes, y Miercoles, cuando deberian salir las “X” en los dias Lunes, Miercoles y Viernes.

Entonces mi pregunta es la siguiente:

¿como puedo hacer para que el programa me muestre las X en los días que corresponde?

Se me imagina que son FOR parecido al mio, pero no se me ocurre (que triste xDD) como delimitar esos parámetros o como “cuadrarlo” (por llamarlo de alguna forma) con los días que corresponde.

De ante mano muchas gracias por la ayuda, atento a sus comentarios y seguerencias se despide Atte.

Francisco.


Título: Re: [BATCH]Problema con delimitadores xD
Publicado por: leogtz en 24 Marzo 2011, 22:18 pm
¿Se puede usar SED?

¿Qué clase de programa es este y para qué lo utilizas?


Título: Re: [BATCH]Problema con delimitadores xD
Publicado por: Novlucker en 25 Marzo 2011, 12:23 pm
Yo también iba a preguntar el objetivo del programa, aprender? :P
Es que en mi caso si quisiera tratar esos datos los metería directamente en una planilla de cálculo ;D

Saludos


Título: Re: [BATCH]Problema con delimitadores xD
Publicado por: FranciskoAsdf en 25 Marzo 2011, 13:25 pm
¿Se puede usar SED?

¿Qué clase de programa es este y para qué lo utilizas?

Supongo que si, mientras cumpla lo que necesito xDDDD

Y es un programa super basico, y lo utilizo para poder saber que los dias que tengo que hacer pedido de productos.

Como dice NovLucker lo podria llevar a una planilla de Excel , pero igual quiero aprender a usar FOR, ademas me sale mas rapido asi, porque si consulto por EAN o po MATERIAL, en la planilla de excel seria mas lento.


En fin, espero me puedan ayudar :D

Saludos ^^


Título: Re: [BATCH]Problema con delimitadores xD
Publicado por: FranciskoAsdf en 27 Marzo 2011, 09:08 am
Cierren este tema, ya lo solucioné.

Como?

Cambié las "X" por los dias que correspondian, por ejemplo

X = lunes
X = martes

etc