Ejecute un segundo comando después de que el primero se complete o haya errores

17

Sé que puedes ejecutar dos comandos en secuencia, con una línea, poniéndolos &&así:

hostname && w32tm /query /configuration

Sin embargo, esta &&función tiene una limitación: solo ejecuta el segundo comando si el primero es exitoso.

Mi uso preferido para &&es ejecutar comandos informativos directamente desde Inicio-> Ejecutar (o Win+ R) sin tener que escribirlos en la ventana CMD o preocuparme de que la consola CMD se cierre prematuramente. Por ejemplo:

cmd /c hostname && w32tm /query /configuration && pause

Sin embargo, debido a la limitación mencionada anteriormente, este comando saldrá automáticamente de la ventana de la consola si falla w32tm, es decir: si el servicio de hora de Windows no se está ejecutando.

¿Hay un operador similar que pueda usar para encadenar comandos en una línea, lo que permitirá que se ejecute el segundo comando incluso si se eliminan los primeros errores?

Estoy buscando que esto sea compatible desde Windows XP hacia arriba.

Iszi
fuente

Respuestas:

23

Solo use en &lugar de &&. El segundo comando se ejecutará incluso si el primero falla.

Gurken Papst
fuente
66
Aquí está la documentación para ello: microsoft.com/resources/documentation/windows/xp/all/proddocs/…
Der Hochstapler
2
¿Qué pasa si quiero command2ser ejecutado solo cuando command1falla? (XOR)
AK_
Luego usecommand1 || command2
Chad Gorshing