Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: elecktra en 21 Enero 2010, 15:16 pm



Título: Ayuda para crear un BAT complejo
Publicado por: elecktra en 21 Enero 2010, 15:16 pm
Hola como estan amigos?
Les cuento tengo que crear un BAt algo complejo tengo alguna idea de como hacerlo, pero me falta mas a aprte de programación.
Les cuento, tengo un TXT que contiene lo siguiente:

[Configuracion1]
PuertoCom=1
VelocidadPuerto=115200
NombreReloj=unit
UrlMov=
HorasRecuperacion=08:30-14:30;16:10-16:15;17:45-18:00
HorasSincronizacion=11:01-11:10


De este archivo lo que me importa es lo siguiente.

HorasRecuperacion=08:30-14:30;16:10-16:15;17:45-18:00
HorasSincronizacion=11:01-11:10


Loq ue tengo que lograr es que un BAT lea la hora de widows actual, y segun esa hora modifique la HorasSincronizacion=11:01-11:10 cambiandola a la actual mas unos minutos de mas.
Ejemplo:

Si el archivo contiene la Hora HorasSincronizacion=11:01-11:10 y en la PC nos figura 12:10 entocnes el BAT deberia cambair la HorasSincronizacion=12:03-12:13

Hasta aqui creo es facil, pero nos e como sumarle mas minutos a la hora.
Espero em puedan ayudar.
Gracias.


Título: Re: Ayuda para crear un BAT complejo
Publicado por: ---saster--- en 21 Enero 2010, 15:44 pm
con for se podría hacer :-/

coges con los tokens las horas, y despues si tienen una hora que la cambie por otra

con esto sacas las horas

Código:
for /f "tokens=2 delims== skip=5" %%A in (file.txt) do (echo %%A)


Título: Re: Ayuda para crear un BAT complejo
Publicado por: kj_ en 21 Enero 2010, 16:03 pm

Advertencia - mientras estabas escribiendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje.

pudrías guardar todo en variables y luego reescribir el txt.

sería más o menos así:

Código:
for /f %%b in ('findstr /C:"PuertoCom=" txt.txt') do (set pc=%%b)
for /f %%b in ('findstr /C:"VelocidadPuerto=" txt.txt') do (set vp=%%b)
:: y todo lo que quieras meter
for /f %%b in ('findstr /C:"HorasSincronizacion==" txt.txt') do (set hs=%%b)
set horatxt1=%hs:~20,5%
set horatxt2=%hs:~-5%

son eso ya tenemos las todo el txt en variables y las 2 horas que queremos.

ahora tomamos la hora de windows:

Código:
set timew=%time:~0,5

hasta ahí te entiendo, pero no se muy bien que cantidad quieres que le sume, o para que quieres hacerlo, si me lo explicas te podré ayudar más.

al final de todo, puede guardar los datos en el txt redireccionando:

Código:
(
echo. [Configuracion1]
echo. %pc%
echo. %vp%
echo. etc...
echo. %nuevas-horas-de-recuperación%
echo. %nuevas-horas-de-Horas-Sincronizacion%)>txt.txt
 

saludos

kj


Título: Re: Ayuda para crear un BAT complejo
Publicado por: elecktra en 21 Enero 2010, 16:50 pm
Hola, garcias pro lasl respeustas, te explico, necesitoq eu le sume unos minutos, porque ese archivo es leido por un programa, que ncesecita tener cierta hora apra funcionar..
por otra aprte, tengo que guardar los cambios en el mismo archivo.
Gracias.