Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Abakus en 12 Marzo 2012, 17:44 pm



Título: Obtener variables de un texto en batch
Publicado por: Abakus en 12 Marzo 2012, 17:44 pm
Hola, estoy buscando la forma de hacer que del siguiente archivo de texto:
Código:
Jueves+08Marzo
Copa_Libertadores__BocaJuniors-FluminenseGolTV+02:00
Uefa_Liga_Europea__Twente-Schalke+04Sportmanía+19:00
[etc..]
Viernes+09Marzo
Copa_Brasileña__Cuiabá-PortuguesaGolTV+01:50
Liga_Rusa__CSKAMoscú-DynamoMoscúGolTV+11:00
[etc...]

Obtener las siguiente variables automáticamente:
dia = Jueves
ndia = 08
mes = Marzo

y sacar partido a partido para guardarlo en una base de datos para ese día pero obteniendo de esto:
Copa_Libertadores__BocaJuniors-FluminenseGolTV+02:00
esto:
liga = Copa Libertadores
equipo = BocaJuniors-Fluminense
canalhora = GolTV - 02:00


Es posible? si no es posible con batch diganme que otra forma tengo.


Título: Re: Obtener variables de un texto en batch
Publicado por: leogtz en 12 Marzo 2012, 22:04 pm
Si es posible, solo hay que tener en cuenta los delimitadores. Por ejemplo aquí:

Código:
Copa_Libertadores__BocaJuniors-FluminenseGolTV+02:00

¿Los nombres de los equipos siempre están n ese mismo formato?
¿Hay nombres de equipos con espacios?

Código
  1. @echo off
  2. set /p "var=" < "file.txt"
  3. for /f "tokens=1,2 delims=+" %%a in ("%var%") do (
  4. set "dia=%%a"
  5. set "x=%%b"
  6. )
  7. set "ndia=%x:~0,2%"
  8. set "mes=%x:~2,9%"
  9. echo [%dia%][%ndia%][%mes%]


Título: Re: Obtener variables de un texto en batch
Publicado por: Abakus en 13 Marzo 2012, 17:50 pm
Vale muchas gracias por el de la fecha, el de los equipos no se si es posible mira otros ejemplos:
Uefa_Liga_Europea__ManchesterUnited-AthleticClubCuatro+21:05
Segunda_A__Guadalajara-DeportivoLaCoruñaCMTV/ETB+1/TVG+2+18:00

No hay espacios en los equipos y me gustaría tenerlos.. la referencia pude ser un espacio antes de una letra mayúscula pero que pasa con los canales? ademas puede haber varios canales separados por /.