Título: Ayuda, comparador en Batch Publicado por: lean91 en 30 Enero 2020, 00:50 am Proyecto en el que trabajo Hola a todos, me estoy metiendo de a poco bastante en batch y me pidieron para un trabajo un batch que haga lo siguiente y no se si realmente pueda hacerlo. en un excel (llamado TELEFONOS )hay una columna con telefonos y tengo que comparar esos telefonos con uno un excel que tiene las características de área y a donde corresponden, por ejemplo 11 2233 4455 tengo que agarrar esa fila del excel y comparar ese numero, las condiciones son: - El numero no debe superar mas de 10 caracteres y solo deben ser numéricos - Hacer una suerte de IF para decir de donde es (if los primeros 2 números son 11 y después tiene 8 dígitos, el teléfono es valido y es de BUENOS AIRES) la acción a tomar si es valido es pegar ese numero en un nuevo excel en una columna y que ese excel se llame VALIDO. En caso de ser un numero con 20 caracteres (por ejemplo) pegarlo en un nuevo excel que se llame INVALIDOS. -una condición IMPORTANTE que considere después, es que un teléfono puede tener 12 caracteres si la persona en cuestión escribió 0324 11 223344 asi que el condicional seria, SI numero 1,2,3,4 = "0324" and numero 5,6= "11" and numero 7,8,9,10,11,12 =******, (si empieza con 0324, los otros dos son 11 y tiene 6 números mas) Cambien seria valido (Debo contemplar el error humano claramente) como se va a usar para comparar muchos números básicamente debe tomar cada fila del excel y comparar una por una así que calculaba poner un contador para que le diga que valla a la siguiente fila una vez terminada la comparación de este numero, cuando el valor sea NULL o mejor dicho cuando la cantidad de caracteres sea = 0 (por lo tanto ya no hay telefonos en esa columna del excel para comparar) mensaje "Fin del proceso" pause>null y exit Me dan una mano para diagramarlo? yo después me encargo de hacerlo entero con cada característica y la lógica correspondiente punto critico, no sabría como hacer que tome el primer campo del excel, lo compare el segundo, lo compare el tercero, y así Después no sabría como decirle esta parte (si empieza con 0324, los otros dos son 11 y tiene 6 números mas entonces VALIDO pegalo en este excel en la fila 2 o 3 o la que corresponda) Avances: -Contador- @echo off cls set/a contador=0 (Proceso que va a comparar / guardar / etc) set/a contador=%contador%+1 @echo Se completo operación exitosamente, se validaron %contador% telefonos Pause > null -Comparador- (En breve pego lo que fui haciendo, el post es nuevo aguarden unos minutos mientras lo voy modificando) Desde ya un millon de gracias si te tomaste la molestia de leer esto [/b] Título: Re: Ayuda, comparador en Batch Publicado por: engel lex en 30 Enero 2020, 01:00 am hola!
no se hacen tareas se provee ayuda, indica tus dudas y muestra tus avances por otro lado, no escribas frases en mayusculas, si quieres resaltar algo, usa negritas Título: Re: Ayuda, comparador en Batch Publicado por: lean91 en 30 Enero 2020, 01:09 am hola! no se hacen tareas se provee ayuda, indica tus dudas y muestra tus avances por otro lado, no escribas frases en mayusculas, si quieres resaltar algo, usa negritas Ya mismo lo modifico y pego lo que tengo hasta ahora :D Título: Re: Ayuda, comparador en Batch Publicado por: Eleкtro en 30 Enero 2020, 10:53 am TL; DR
Batch no provee funcionalidad para leer formatos Excel. Debes utilizar otro lenguaje más sofisticado y con una librería especializada para la lectura del formato (ej. C# o VB.NET + NPOI) y entonces si que te resultará muy sencilla la tarea de leer la tabla/columnas/filas y realizar comparaciones. Saludos. |