Execute um segundo comando após a primeira conclusão ou erros

17

Eu sei que você pode executar dois comandos em sequência, com uma linha, colocando &&entre eles assim:

hostname && w32tm /query /configuration

No entanto, esta &&função tem uma limitação: Ela somente executa o segundo comando se o primeiro for bem-sucedido.

Meu uso preferido para &&é executar comandos informativos diretamente de Iniciar-> Executar (ou Win+ R) sem precisar digitá-los na janela do CMD ou se preocupar com o encerramento prematuro do console do CMD. Por exemplo:

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

Devido à limitação acima mencionada, este comando sairá automaticamente da janela do console se o w32tm falhar - ou seja: se o serviço Windows Time não estiver em execução.

Existe um operador semelhante que eu possa usar para encadear comandos juntos em uma linha, o que permitirá que o segundo comando seja executado mesmo que ocorram os primeiros erros?

Estou procurando que isso seja compatível a partir do Windows XP.

Iszi
fonte

Respostas:

23

Basta usar em &vez de &&. O segundo comando será executado mesmo se o primeiro falhar.

Gurken Papst
fonte
6
Aqui está a documentação para ele: microsoft.com/resources/documentation/windows/xp/all/proddocs/...
Der Hochstapler
2
e se eu quiser command2ser executado apenas quando command1falhar? (XOR)
AK_ 15/03/19
Então usecommand1 || command2
Chad Gorshing