Autor
|
Tema: [Duda] BATCH : Cronometro con Historial de Tiempo (Leído 3,351 veces)
|
M401
Desconectado
Mensajes: 119
:$
|
Buenas! Hace tiempo estaba buscando la forma de crear un historial de tiempo con Batch Para cada dia, Pero no pude hacerlo . Queria que a cada segundo que pasa en el cronometro, Lo registre dentro de un archivo de texto pero que no se multiplique uno bajo el otro (Que es por eso que no pude), Alguien me dice como puedo implementarselo a mi cronometro?. Aqui abajo les dejo el script y me dicen que tal está. ------Inicio Del Codigo------------------------------------------------------------------------- @echo off @mode con cols=30 lines=10 cls color 0a set/a s=1 echo. echo Para Pausar El Cronometro echo Utiliza (Ctrl+C) echo. echo Pulsa cualquier tecla para echo iniciar pause>nul :inicio cls echo. echo °±² Cronometro ²±° echo. echo Segundos : %s% echo Minutos : %m% echo Horas : %h% timeout/t 1 /nobreak>nul set/a s+=1 set/a m=s set/a m/=60 set/a h=m set/a h/=60 goto inicio ------Fin del Codigo----------------------------------------------------------------------------- Si alguien sabe porfa diganme en los comentarios
|
|
|
En línea
|
Pero aunque los que sepan me digan que no, yo sé muy bien que existe el lado oscuro del sol. – El lado soleado de la calle
|
|
|
M401
Desconectado
Mensajes: 119
:$
|
PD.disculpen si hizo falta el cuadro donde ponen los codigos, Pero soy nuevo en el foro y este es mi primer tema :u
|
|
|
En línea
|
Pero aunque los que sepan me digan que no, yo sé muy bien que existe el lado oscuro del sol. – El lado soleado de la calle
|
|
|
Segadorfelix
Desconectado
Mensajes: 157
|
Hola Mudered, creo que debería ser "set /a s=0", pero dado que son segundos, no creo que sea muy importante. El código, es bueno. Es sencillo y cumple su función. No entiendo lo de multiplicar. supongo que sería: set/a s+=1 echo %s%>segundos.txt
el '>' resetearía el archivo, por cada ciclo del bucle, introduciendo el valor de 's' hasta el corte. PD1: En cuanto a como poner el código, arriba hay una opción que es un '#' esa permite colocar el código. PD2: Dale un vistazo a mi cronometro, funciona distinto, pero alguna parte del código podría ayudar https://foro.elhacker.net/scripting/cronometro_batch-t494403.0.html
|
|
|
En línea
|
|
|
|
**Aincrad**
|
Bueno ya te respondieron arriba, el tienes q corregir lo de los segundos, siguen aumentando cuando llegan a 60. Y Respondiendo a tu pregunta : @echo off @mode con cols=30 lines=10 if exist Registro.txt del Registro.txt >nul cls color 0a set/a s=1 echo. echo Para Pausar El Cronometro echo Utiliza (Ctrl+C) echo. echo Pulsa cualquier tecla para echo iniciar pause>nul :inicio cls echo. echo °±² Cronometro ²±° echo. echo Segundos : %s% echo Minutos : %m% echo Horas : %h% timeout/t 1 /nobreak>nul set/a s+=1 set/a m=s set/a m/=60 set/a h=m set/a h/=60 ( echo %s% )>Registro.txt goto inicio
|
|
|
En línea
|
|
|
|
M401
Desconectado
Mensajes: 119
:$
|
Buenas hace rato estaba intentando hacerlo mas complejo, pero mas entendible, Osea como dijo el we, Que no pasara de los 60 segundos y resulta que me llevo casi 1 hora Pero creo que alfin lo termine y quiero que vean como me salió, No le agregue el Historial porque es muy facil añadirlo y ahi veran ustedes si lo añaden o no, Pero diganme si quedo bien o si Tiene Errores... @echo off title Cronometro cls color 0a @mode con cols=20 lines=10
set/a s=1 set/a h=1
echo Pulsa Cualquier echo Tecla Para Iniciar echo El Cronometro. echo. echo Para Pausarlo echo Simplemente Utiliza echo (CTRL+C) echo. pause>nul
:a cls echo. echo °±² Cronometro ²±° echo. echo 00:00:0%s% echo. timeout/t 1 /nobreak>nul set/a s+=1 if %s%==10 (goto b) else goto a
:b cls echo. echo °±² Cronometro ²±° echo. echo 00:00:%s% echo. timeout/t 1 /nobreak>nul set/a s+=1 if %s%==60 (goto revalue-a) else goto b
:revalue-a set/a s=1 set/a m+=1 goto c
:c cls echo. echo °±² Cronometro ²±° echo. echo 00:0%m%:0%s% echo. timeout/t 1 /nobreak>nul set/a s+=1 if %s%==10 (goto d) else goto c
:d cls echo. echo °±² Cronometro ²±° echo. echo 00:0%m%:%s% echo. timeout/t 1 /nobreak>nul set/a s+=1 if %s%==60 goto revalue-a if %m%==10 (revalue-b) else goto d
:revalue-b set/a s=1 set/a m+=1 goto e
:e cls echo. echo °±² Cronometro ²±° echo. echo 00:%m%:0%s% echo. timeout/t 1 /nobreak>nul set/a s+=1 if %s%==10 (goto f) else goto e
:f cls echo. echo °±² Cronometro ²±° echo. echo 00:%m%:%s% echo. timeout/t 1 /nobreak>nul set/a s+=1 if %s%==60 goto revalue-b if %m%==60 (goto PH) else goto f
:--------------------Horas---------------
:PH set/a s=1 set/a m=1 set/a h+=1 goto g
:revalue-h set/a s=1 set/a m+=1 goto i
:revalue-now set/a s=1 set/a m+=1 goto k
:g cls echo. echo °±² Cronometro ²±° echo. echo 0%h%:00:0%s% echo. timeout/t 1 /nobreak>nul set/a s+=1 if %s%==10 (goto h) else goto g
:h cls echo. echo °±² Cronometro ²±° echo. echo 0%h%:00:%s% echo. timeout/t 1 /nobreak>nul set/a s+=1 if %s%==60 (goto revalue-h) else goto h
:i cls echo. echo °±² Cronometro ²±° echo. echo 0%h%:0%m%:0%s% echo. timeout/t 1 /nobreak>nul set/a s+=1 if %s%==10 (goto j) else goto i
:j cls cls echo. echo °±² Cronometro ²±° echo. echo 0%h%:0%m%:%s% echo. timeout/t 1 /nobreak>nul set/a s+=1 if %s%==60 goto revalue-h if %m%==10 (goto k) else goto j
:k cls cls echo. echo °±² Cronometro ²±° echo. echo 0%h%:%m%:0%s% echo. timeout/t 1 /nobreak>nul set/a s+=1 if %s%==10 (goto l) else goto k
:l cls cls echo. echo °±² Cronometro ²±° echo. echo 0%h%:%m%:%s% echo. timeout/t 1 /nobreak>nul set/a s+=1 if %s%==60 goto revalue-now if %m%==60 (goto PH) else goto l
No llevo mas de 1 semana en batch, y Creo que todavia me hace falta aprender mas Y quiero Saber si voy bien Como lo estoy haciendo o hay una forma mas Facil.
|
|
« Última modificación: 8 Abril 2019, 23:32 pm por Mudereded401 »
|
En línea
|
Pero aunque los que sepan me digan que no, yo sé muy bien que existe el lado oscuro del sol. – El lado soleado de la calle
|
|
|
Segadorfelix
Desconectado
Mensajes: 157
|
Hay demasiados 'saltos' en tu segundo código. Sirve. Pero podría haberse simplificado muchísimo. Use solo un salto, goto a, y varios condicionales. El codigo que colocaste tiene 188, y lineas y este tiene 47. Ambos hacen lo mismo, la diferencia es el codigo: *Este usa condicionales para ahorrar saltos (por ejemplo los :revalue, todos eran iguales, no había necesidad de repetirlos) *El texto base no cambia, usando una asignación particular de variables, que evitan este problema(el que set /a variable=09 por ejemplo tire error). Sin saltos adicionales. cls color 0a mode con cols=31 lines=10 :a ) ) ) cls
Si añades este código al inicio, el cronometro se ejecutara en otra ventana al ser llamado por el cmd. start %~n0 12 :c cls
Recomiendo que leas el tuto de programación avanzada en batch https://foro.elhacker.net/scripting/programacion_batch_avanzada_nuevo-t132924.0.html
|
|
« Última modificación: 9 Abril 2019, 03:30 am por Segadorfelix »
|
En línea
|
|
|
|
M401
Desconectado
Mensajes: 119
:$
|
Vale gracias por la ayuda, Todavia soy un nuevo en batch y creo que no entiendo bien tu codigo xd Pero ahi ire aprendiendo, Apenas estos son mis primeros .bat y quiero hacerlos como tu. Mas facil y mas rapidos. Igual gracias por tu ayuda.
|
|
|
En línea
|
Pero aunque los que sepan me digan que no, yo sé muy bien que existe el lado oscuro del sol. – El lado soleado de la calle
|
|
|
Segadorfelix
Desconectado
Mensajes: 157
|
Vale gracias por la ayuda, Todavia soy un nuevo en batch y creo que no entiendo bien tu codigo xd Pero ahi ire aprendiendo, Apenas estos son mis primeros .bat y quiero hacerlos como tu. Mas facil y mas rapidos. Igual gracias por tu ayuda. Hago la recomendación 'obligatoria' de siempre, hay lenguajes de scriping más adecuados, para aprender, como autoit o si se quiere consola, python o ruby. Pero aprender Batch no hace ningun mal y ayuda a que uno se maneje mejor por Windows. Hay formas más rápidas y eficientes que la mía, podría asegurar que con For, tal vez podría haber hecho el script más eficiente. Es solo leer los post 'clavados en Scriping', allí, esta la mayor parte de la información. Y consultar los comandos en la consola con Help y con [comando] /? SaluDos!
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Cronometro en BATCH
« 1 2 3 »
Scripting
|
Dirpok
|
22
|
21,486
|
28 Enero 2013, 17:16 pm
por Eleкtro
|
|
|
[Batch] (Aporte) Simple cronómetro
Scripting
|
Eleкtro
|
0
|
2,445
|
27 Enero 2012, 06:25 am
por Eleкtro
|
|
|
[Batch] Historial Secreto Mira el historial secreto y borralo y mucho mas...
Scripting
|
ELVJop
|
5
|
11,065
|
2 Mayo 2012, 14:47 pm
por flony
|
|
|
Cronometro BATCH
Scripting
|
Segadorfelix
|
0
|
2,085
|
7 Abril 2019, 08:00 am
por Segadorfelix
|
|
|
[BATCH] [Aporte] Cronometro Inusual
Scripting
|
M401
|
3
|
2,642
|
25 Noviembre 2020, 22:23 pm
por M401
|
|