El siguiente comando (aplicable a la conexión PPPoE) está en un archivo .bat.
Rasdial "connection name" "user name" "password"
¿Cómo puedo hacer que se ejecute de nuevo automáticamente si falla (es decir, la conexión aún no está disponible)?
windows
command-line
batch-file
Matthew Wai
fuente
fuente

Respuestas:
Cree un archivo por lotes (otro) (por ejemplo: BatchFile.bat) que contenga:
Luego llame
Start "" BatchFile.batdesde su archivo por lotes original.Cuando RASDial sale normalmente, saldrá con errorlevel 0.
La instrucción If verifica si el nivel de error devuelto por el programa anterior (RASDial en este caso) es mayor que 0, y si lo es, supone que hay un error y salta hacia atrás para intentar nuevamente el marcado. De lo contrario, simplemente continúa.
fuente
%errorlevel% gtr 0oerrorlevel 1. Esto también puede ser útil si OP quiere probar un código de error / salida específico: msdn.microsoft.com/en-us/library/windows/desktop/…GTRno funciona, perogtrfunciona"), esos comandos de Windows no distinguen entre mayúsculas y minúsculas. Pruebe de nuevo porque el problema sería diferente a eso. Por ejemplo, usédir *.axe & if %errorlevel% gtr 0 echo.1 & if %errorlevel% GTR 0 echo.1ydir *.* & if %errorlevel% gtr 0 echo.1 & if %errorlevel% GTR 0 echo.1conGTRygtry funciona de la misma manera, pero ambos parecen mostrar cierto retraso al mostrar1después de cambiar la línea de comando.Acabo de descubrir que mi archivo .bat original simplemente se puede eliminar, y puedo usar un solo archivo .bat que contiene los siguientes comandos para hacer todo el trabajo, incluido volver a marcar cuando falla.
: DIAL
Rasdial "nombre de conexión" "nombre de usuario" "contraseña"
Si el nivel de error 1 pasa a DIAL
fuente