Exécutez une deuxième commande après la première exécution ou les erreurs

17

Je sais que vous pouvez exécuter deux commandes en séquence, avec une seule ligne, en mettant &&entre elles comme ceci:

hostname && w32tm /query /configuration

Cependant, cette &&fonction a une limitation: elle n'exécute la deuxième commande que si la première réussit.

Mon utilisation préférée pour &&est d'exécuter des commandes d'information directement à partir de Démarrer-> Exécuter (ou Win+ R) sans avoir à les taper dans la fenêtre CMD ou à vous soucier de la fermeture prématurée de la console CMD. Par exemple:

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

En raison de la limitation susmentionnée, cette commande quittera automatiquement la fenêtre de la console en cas d'échec de w32tm, c'est-à-dire si le service Windows Time n'est pas en cours d'exécution.

Existe-t-il un opérateur similaire que je peux utiliser pour enchaîner les commandes sur une seule ligne, ce qui permettra à la deuxième commande de s'exécuter même si la première erreur se produit?

Je cherche à ce que ce soit compatible à partir de Windows XP.

Iszi
la source

Réponses:

23

Utilisez simplement &au lieu de &&. La deuxième commande sera exécutée même si la première échoue.

Gurken Papst
la source
6
Voici la documentation pour cela: microsoft.com/resources/documentation/windows/xp/all/proddocs/…
Der Hochstapler
2
que faire si je veux command2être exécuté uniquement en cas d' command1échec? (XOR)
AK_
Ensuite, utilisezcommand1 || command2
Chad Gorshing