Ms-Dos - file.BAT que pita con GOTO a x tiempo

   
Vista:

file.BAT que pita con GOTO a x tiempo

Publicado por Anton Saez (2 intervenciones) el 16/06/2013 16:09:19
Hola
No termino de entender la programacion en .bat (se me hace muy dificil)
quiero hacer una cuenta atras (hacia adelante tambien me vale) que cuente 5 minutos o 300 segundos igualmente, que cuando termine, PITE a peder ser o sino que avise de alguna manera, con una ventana nueva o de cualquier otro modo. Y una vez que ha pittado, pasen otros 5min y vuelva a pitar, asi sucesivamente

Por el momento creo que es con el comando GOTO, pero ando muyyy perdido
he creado esto y no me vale. Donde los ??????? no se que poner para que pite (a poder ser 3 veces seguidas... PI PI PI, sino me valdria con un solo PI)
esto de hacer archivos en bat no es lo mio un saludo



ECHO on
:loop
ECHO count>%300%
???????????????????????
IF errorlevel=1 GOTO loop
ECHO off
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
información
Otras secciones de LWP con contenido de Ms-Dos
- Cursos de Ms-Dos
- Temas de Ms-Dos
información
Cursos y Temas de Ms-Dos
- Comandos de Ms-Dos
- Comandos internos en MS-DOS
- Interprete de comandos de Windows
Imágen de perfil de Antoni Masana

file.BAT que pita con GOTO a x tiempo

Publicado por Antoni Masana (269 intervenciones) el 17/06/2013 07:09:43
Para realizar tres pitidos de forma basica en un BAT escribe:

ECHO.{Control+G}{Control+G}{Control+G}

Deberias ver en la pantalla:

ECHO.^G^G^G

Esto es un bat ( SLEEP.BAT ) que hizo otra persona (no es mio) que hace una pausa de X segundos:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
@echo off
if "%1" == "/?"  goto Help
if "%1" ==  "?"  goto Help
if "%1" == "-?"  goto Help
 
set Sleep=%1
 
if "%1" == "" set Sleep=100
 
set /a HH=%Time:~0,2%+100
set /a MM=1%Time:~3,2%-100
set /a SS=1%Time:~6,2%-100
set /a CC=1%Time:~9,2%-100
 
set /a TBASE=((%HH%*60+%MM%)*60+%SS%)*100+(%CC%)
 
: Ejemplo pausa de un segundo, cambiar el 100 por otro valor expresado en
:  cent‚simas de segundo.
 
set /a TFIN=%TBASE%+%Sleep%
 
:ESPERAR
 
set /a HH=%Time:~0,2%+100
set /a MM=1%Time:~3,2%-100
set /a SS=1%Time:~6,2%-100
set /a CC=1%Time:~9,2%-100
 
set /a TACTUAL=((%HH%*60+%MM%)*60+%SS%)*100+(%CC%)
 
if %TACTUAL% lss %TBASE% set /a TACTUAL=%TBASE%+%TACTUAL%
if %TACTUAL% lss %TFIN% goto ESPERAR
 
GOTO:EOF
 
:Help
   echo SLEEP - Suspende la ejecuci¢n para un intervalo.
   echo.
   echo      sleep time
   echo.
   echo            time - valor en centesimas de segundo.
   echo                   valor por defecto 100 ( 1 segundo )
   echo.



Y con toda esta informacion tu BAT seria algo asi:

1
2
3
4
5
@ECHO OFF
:Loop
   CALL SLEEP 500
   ECHO. ^G^G^G
   GOTO Loop
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

file.BAT que pita con GOTO a x tiempo

Publicado por Anton Saez (2 intervenciones) el 18/06/2013 04:02:02
Hola, gracias por responder
En el ms-dos lo de {Control+G} = ^G me sale perfecto como dices, pero en edit time.bat lo tengo que hacer con la combinacion Shift+6
Concretando, ejecute el CMD, hize un edit time.bat y puse lo siguiente:

@ECHO OFF
:Loop
CALL SLEEP 500
ECHO. ^G^G^G
GOTO Loop


Pues nada, la consola del dos textualmente me dice:

"SLEEP" no se reconoce como un comando interno o externo,
programa o archivo por lotes ejecutable
GGG


Supongo que lo hice bastante mal y mas de uno se estará riendo.
Llevo rato dándole vueltas y no consigo encontrar el fallo
ains que rabia me da, con lo fácil que parece

Sobre el SLEEP.BAT que me as puesto de ejemplo, varias dudas
¿donde se consiguen esos ejemplos? aquí, en este post, me deja
copiarlo y pegarlo perfectamente, pero en en el ms-dos creo un
edit sleep.bat intento pegarlo y no me deja, tiene eso alguna solución?.

Todo ese gran código de SLEEP.BAT ¿no sera que lo tengo que crear,
(copiar y pegar ) y luego modificar con el ejemplo que pusiste? es
que me quedo con la duda de como quedaría definitivamente.

Muchas gracias por tu ayuda, un saludo, espero respuesta,aunque
tarde uno o dos días en responder.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana

file.BAT que pita con GOTO a x tiempo

Publicado por Antoni Masana (269 intervenciones) el 18/06/2013 07:43:37
El primer ejemplo que puse es el SLEEP.BAT

Para Copiar y pegar en la ventana del CMD tienes que ir la boton de la parte superior izquierda y pulsar el boton derecho del ratón e ir a propiedades PEGAR para pefar el codigo como su propio nombre indica.

Para copiar es un poco más rocambolesco, tienes que ir al mismo sitio y seleccionar MARCAR, seleccionas el area de pantala y ...
Opción 1 vuelves al mismo sitio y pulse sobre copiar o...
Opción 2 pulsar ENTER

Al escript largo que te puse lo puedes lo puedes llamar SLEEP.BAT , DUERME.BAT o PEPITOVADECURT.BAT ( este ultimo es gracioso pero dentro de un par de meses no sabras ni que hace ni para que sirve)

Si le llamas DUERME.BAT el otro (el corto) queda asi:

1
2
3
4
5
@ECHO OFF
:Loop
   CALL DUERME 500
   ECHO. ^G^G^G
   GOTO Loop



No se si mi explicación se entiende.

Ante cualquier dura pregunta y te respondere.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaac Daniel

file.BAT que pita con GOTO a x tiempo

Publicado por Isaac Daniel (3 intervenciones) el 19/06/2013 04:33:46
Buenas tardes compañero, me tarde y tiene algunos fallos pero logre hacer un temporizador, personalizado para ti, adjunto el código copea y pega en un bloc de notas, lo guardas con .bat y listo lo ejecutas. Lo que aun no me queda bien es como finalizarlo ya que se queda trabado, espero que alguien aquí nos pueda echar la mano para que finalice el proceso correctamente.

bueno aquí el codigo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
@Echo off
Color 1F
Title Alarma BEEP
cls
 
@Echo off
ECHO.
ECHO CARGANDO ALARMA: ÛÛ
Ping localhost -n 2 >nul
cls
 
@Echo off
ECHO.
ECHO CARGANDO ALARMA: ÛÛÛÛÛ
Ping localhost -n 2 >nul
cls
 
@Echo off
ECHO.
ECHO CARGANDO ALARMA: ÛÛÛÛÛÛÛÛÛÛ
Ping localhost -n 2 >nul
cls
 
---------------------------------------
 
cls
ECHO	       ****************************
ECHO                Contador
ECHO        ****************************
ECHO.
 
@echo off
 
:b
echo Timer
set /p min=Introduce(MIN)=
set /p sec=Introduce(SEC)=
set /p task=Terminar con=
set /a nano=-84
if %sec%==0 set /a sec=%sec%+1
echo por IsaacDaniel***klonate@yahoo.com.mx***
echo Presiona ENTER para comenzar la cuenta
pause >nul
:TIME
cls
ECHO por IsaacDaniel***klonate@yahoo.com.mx***
=========================
echo %min%:%sec%.%nano%
=========================
if %min%==0 goto beep
goto nano
:nano
set /a nano=%nano%-1
if %nano%==-85 goto reset
goto TIME
:seconds
set /a sec=%sec%-1
if %sec%==0 goto reset2
goto TIME
:min
set /a min=%min%-1
goto TIME
:reset
set /a nano=0
goto seconds
:reset2
set /a sec=59
goto min
:perform
if %sec%==1 goto perform2
goto nano
:perform2
if %nano%==-1 %task% & exit
goto nano
 
pause>nul
 
:beep
@Echo off
ECHO.
:beep
echo 
goto beep
Ping localhost -n 2 >nul
 
pause>nul
 
exit


espero que sea lo que buscabas...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar