[BATCH]Problema con delimitadores xD

Iniciado por FranciskoAsdf, 24 Marzo 2011, 17:27 PM

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

FranciskoAsdf

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)

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


@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



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.
Asdf debería ser algún tipo de función.

leogtz

¿Se puede usar SED?

¿Qué clase de programa es este y para qué lo utilizas?
Código (perl) [Seleccionar]

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

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

Novlucker

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
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

FranciskoAsdf

Cita de: Leo Gutiérrez. en 24 Marzo 2011, 22:18 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 ^^
Asdf debería ser algún tipo de función.

FranciskoAsdf

Cierren este tema, ya lo solucioné.

Como?

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

X = lunes
X = martes

etc

Asdf debería ser algún tipo de función.