A mi me funciona con el modificador -w, que lo que hace es esperar seria algo asi:
ping -w 4000 127.0.0.1 > null
(-w) --> Este modificador lo que hace es esperar, el valor predeterminado es
4000 equivalente a 4 segundos
El problema que veo con el modificador (-n) es que lo que hace es enviar el numero de paquetes que tu le pidas, lo cual a la hora de esperar un tiempo exacto es un problema pk cada ping la mayoria de las veces tardan tiempos diferentes y por ejemplo:
ping -n 4 127.0.0.1 > null
Este code mandara cuatro paquetes pero no tardara cuatro segundos en hacerlo, tardara menos, tonces si lo que buscamos es tiempo de espera exacto seria mas correcto utilizar el modificador (-w)
Si no comprobadlo haced un (ping -n) sin direccionarlo a null y sumar los tiempos y comprobareis que nu son 4 segundos
Un saludo peña

Pa lo que necesiteis aqui estoy, y para lo que necesito espero que esteis jejejejejeje