Esperar 20s en un archivo batch

Taboujr Mensajes publicados 507 Estado Miembro -  
 bustvhk -
¡Hola!

Necesito un pequeño favor. Tengo un archivo batch que se ejecuta al inicio en el servidor y que envía un mensaje a las dos PCs de la red para informar que el servidor se ha reiniciado (dado que no tiene pantalla, es la única solución que hemos encontrado...).

El problema es que en el momento en que las PCs cliente reciben los mensajes, los servicios de red del servidor aún no se han iniciado. Según esto, si ponemos una pausa de 20 segundos antes de enviar los mensajes en el batch, ¿será suficiente? Y si es así, ¿cómo harías para poner una pausa de 20 segundos en un archivo batch?

Gracias de antemano.

Tabou Junior

9 respuestas

  1. FFS
     
    Dejen de lado sus pings estúpidos:
    1) es fiable al 0% (y sí, el ping en el loopback es de +-0 a 16ms, es decir, 1 tick de reloj bajo Windows y si no tienes tarjeta de red no funciona)
    2) ejecuta un programa sin razón (y utiliza la comunicación sin razón)
    6
    1. karirovax Mensajes publicados 3584 Estado Miembro 215
       
      ¡Hola FFS ;)

      ¡No estoy de acuerdo con ustedes! Porque el ping también funciona sin tarjeta de red como la mía ;)

      Para 4 segundos: (n-1) ==> el n en este ejemplo es igual a 5
      ping -n 5 127.0.0.1
      o
      ping -n 5 localhost
      0
    2. titonisme
       
      Yo ping funciona muy bien pero yo escribo ping -n 1 1.1.1.1 -w 5000 >nul
      0
    3. karirovax Mensajes publicados 3584 Estado Miembro 215
       
      Re,

      PING /?

      Uso: ping [-t] [-a] [-n ecos] [-l tamaño] [-f] [-i vida] [-v TipoServ]
      [-r NbSaltos] [-s NbSaltos] [[-j ListaHosts] | [-k ListaHosts]]
      [-w TiempoEspera] NombreObjetivo

      Opciones:
      -t Envía la solicitud ping al host especificado hasta
      que se interrumpa.
      Presione Ctrl-Alt para mostrar estadísticas y continuar,
      Ctrl-C para detener.
      -a Busca los nombres de host a partir de las direcciones.
      -n ecos Número de solicitudes de eco a enviar.
      -l tamaño Envía el tamaño del búfer.
      -f Activa el indicador No fragmentar en el paquete.
      -i vida Tiempo de vida.
      -v TipoServ Tipo de servicio.
      -r NbSaltos Registra la ruta para el número de saltos.
      -s NbSaltos Temporizador para el número de saltos.
      -j ListaHosts Ruta de origen libre entre la lista de hosts.
      -k ListaHosts Ruta de origen estricta entre la lista de hosts.
      -w TiempoEspera Tiempo de espera para cada respuesta, en milisegundos.
      0
    4. HostOfSeraphim Mensajes publicados 7340 Estado Colaborador 1 609
       
      FFS :

      -w Tiempo Tiempo de espera para cada respuesta, en milisegundos.

      Eso es todo para tu punto 1: es fiable.
      0
    5. bustvhk
       
      Hola,
      Sí, ping = caca
      Usa el comando TIMEOUT /t 30 /NOBREAK
      aquí en el ejemplo, una pausa de 30 segundos.
      0
  2. gigilafleur Mensajes publicados 96 Fecha de registro   Estado Miembro 8
     
    Hola,
    otra solución es que puedes usar el comando SLEEP...
    haces un "SLEEP 20" y eso te hace una pausa de 20 segundos
    te lo puedo enviar si quieres porque no sé dónde lo descargué o encontré.!!
    4
  3. ofournier.cbd Mensajes publicados 5862 Fecha de registro   Estado Miembro Última intervención   84
     
    Buenas noches,
    sí, el comando choice funcionará si lo escribes con la siguiente sintaxis:

    choice /c:ON /n /t:O,20

    donde /n evita la visualización (O/N) de las letras designadas por /C:
    y /t: proporciona el resultado por defecto O (Sí) en 20 segundos.

    El comando y sus conmutadores son válidos desde las versiones DOS 6 hasta 8 (y ?? ...).

    Olivier Fournier
    3
    1. karirovax Mensajes publicados 3584 Estado Miembro 215
       
      slt

      el comando choice no existe en XP
      0
  4. MacUSer
     
    De lo contrario, un pequeño ping permite esperar un poco.
    Por ejemplo:

    ping -n 5 127.0.0.1 

    donde el '-n 5' es la duración de cada ping. Si quieres esperar 20 segundos, recomiendo
    ping -n 15 127.0.0.1 o... ping -n 20 127.0.0.1 
    3
  5. Poulet
     
    No es realmente el comando más apropiado, pero sin embargo permite hacer una pausa... El comando CHOICE

    http://1100f.free.fr/Batchs/la_commande_choice.htm

    si el usuario no reacciona se envía una señal por defecto que permite la ejecución del script. Espero que está bien.

    Patapi Biribibi Rabada dada
    Dada dada !!
    2
  6. Northfacts
     
    bueno, sé que el tema ya tiene un tiempo (mucho), pero puede servir a aquellos que buscan la solución.

    en Windows 7 existe el comando timeout para añadir una pausa

    timeout /? para más info
    2
  7. Taboujr Mensajes publicados 507 Estado Miembro 117
     
    Gracias, debería poder arreglármelas con esto...

    Tabou Junior
    0
  8. Taboujr Mensajes publicados 507 Estado Miembro 117
     
    Gracias a todos por su ayuda... ¡Funciona con chioce! Es genial :-))

    Tabou Junior
    0