[Batch] - Sumar valores a la variable %time%

Iniciado por gado2612, 4 Julio 2017, 01:31 AM

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

gado2612

Hola a todos, aqui estoy otra vez jeje... esta vez le vengo con una pequeña duda, soy nuevo en batch y voy poco a poco XD.

Pero la duda es esta:

Cuando mostramos el resultado de %time% con echo nos da por ejemplo algo asi:

Entonces la idea es sumarle cualquier cantidad de milisegundos a dicho valor para que quede por ejemplo suponiendo que el valor fue 19:09:45,00 y le queramos sumar 50 milisegundos, el resultado sea 19:09:45,50 pero cuando lo hago me da este error :O


Me comprenden? soy malo explicando XDD disculpen :v

Saludos a todos... :D
Si no tienes nada bueno que decir, mejor mantén la boca cerrada...

Eleкtro

#1
...¿en Batch?. No puedes hacer algo así sin complicarte demasiado la vida y de forma innecesaria estrujándote el cerebro para idear operaciones aritméticas que resuelvan un problema fastidioso que sería bastante sencillo de resolver en cualquier otro lenguaje no tan limitado e inepto como es Batch. Pudiéndolo hacer en cualquier otro lenguaje que esté soportado nativamente por Windows, como VBS o PowerShell, deberías considerar esa idea...

De todas formas aquí te muestro un ejemplo para añadir minutos (solamente minutos) que puedes tratar de extender y adaptar a tus necesidades... pero es que no vale la pena molestarse en hacer algo así:

¿Para qué quieres hacer una operación de este tipo en un lenguaje como Batch?, no está pensado para ese tipo de cosas, cualquier pequeño problema en Batch se convierte en una resolución demasiado tediosa, o compleja, precisamente por que Batch es tan solo una herramienta diseñada para satisfacer la automatización de tareas cotidianas (tareas básicas) del usuario, esa es la función principal que debe cumplir, no trates a Batch como a un lenguaje de programación, para eso ya tienes a los demás lenguajes competentes que te proveerán de miembros built-in para llevar a cabo todo tipo de operaciones programáticas con clases que representen una hora en el tiempo, con métodos para manipular (añadir, reducir, sumar, restar, etc... ) el valor del tiempo a tu antojo...

Te muestro un ejemplo en PowerShell / .NET Framework:

Script.ps1
Código (csharp) [Seleccionar]
[Timespan]$curTime = ([DateTime]::Now).TimeOfDay
[Timespan]$newTime = ($curTime).Add([TimeSpan]::FromMilliseconds(50)) # Add 50 ms to the current time.

[Console]::WriteLine("Current Time........: " + $curTime.ToString("hh\:mm\:ss\:fff"))
[Console]::WriteLine("Current Time + 50 ms: " + $newTime.ToString("hh\:mm\:ss\:fff"))

[Console]::WriteLine("Press any key to exit...")
[Console]::ReadKey($true)
Exit(0)


Resultado de ejecución:
CitarCurrent Time........: 22:36:47:281
Current Time + 50 ms: 22:36:47:331
Press any key to exit...

Saludos.








gado2612

Jejeje wow men gracias, no era para nada útil, sino que quería ver que tan lejos puede llegar batch (siendo tedioso y todo lo demás) XD yo personalmente uso python pero me encanta ver como personas hoy en día hace cosas en batch que son simples en otros lenguajes pero nunca en la historia se había pensado que se podía XD ni los que lo inventaron se imaginaban XDD

Gracias y un gran saludo :D
Si no tienes nada bueno que decir, mejor mantén la boca cerrada...