Como faço para executar vários comandos ao mesmo tempo na linha de comando?

1

Ao usar o Unix, posso executar vários comandos no prompt da linha de comando em uma linha:

# command1; command2; command3

Ou até encadeá-los, verificando os status de saída:

# command1 && command2 && command3

É o mesmo possível no prompt de comando do Windows XP?

Muitas vezes tenho que executar vários comandos de criação de software no Windows ...

    
por Alexander Farber 11.08.2011 / 18:48

3 respostas

4

Você tem algumas opções no prompt de comando.

Como @barlop mencionou, há o uso de && em comandos de cadeia, desde que o anterior tenha sido bem-sucedido.

Há também || , que deixará de ser executado após o primeiro comando bem-sucedido.

Por fim, os comandos podem ser agrupados com parênteses () , da seguinte maneira:

C:\>(
echo command 1
echo command 2
)

O agrupamento também pode ser usado com outros comandos, como if ou for , permitindo coisas como:

C:\>for %i in (*.7z) do @(
md "%~ni"
cd "%~ni"
7za.exe x "%~fi"
cd ..
del "%i"
)
    
por 11.08.2011 / 19:42
2

Em cmd.exe você pode usar & para comandos de encadeamento (como ; em sh ).

echo a & echo b

Os operadores && e || também funcionam.

    
por 11.08.2011 / 20:15
1

ntcmds.chm menciona o
 sob conceitos .. "visão geral do shell cmd"

& & Use para executar o comando após & & somente se o comando que precede o símbolo for bem sucedido

Então você pode fazer

C:\>echo a && echo a

adicionado

& é mais apropriado como resposta que & & &

aqui de ntcmds.chm

& "Use para separar vários comandos em uma linha de comando. O Cmd.exe executa o primeiro comando e o segundo comando."

& & "Use para executar o comando após & & somente se o comando que precede o símbolo for bem-sucedido. O cmd.exe executará o primeiro comando e executará o segundo comando apenas se o primeiro comando for concluído com êxito." (é um curto-circuito booleano AND)

|| "Use para executar o comando seguinte || apenas se o comando anterior || falhar. O Cmd.exe executa o primeiro comando e executa o segundo comando apenas se o primeiro comando não for concluído com êxito (recebe um código de erro maior que zero) " (é um curto-circuito booleano OU ie dado a expressão "A ou B" onde A e B são valores booleanos de VERDADEIRO ou FALSO, só precisa que um seja verdadeiro, então se A for verdadeiro não irá tão longe quanto B porque não precisará, para fazer sua avaliação)

    
por 11.08.2011 / 19:32