O operador &
no PowerShell é apenas o ;
ou ponto e vírgula.
O operador &&
no PowerShell deve ser executado como uma instrução if
.
Command ; if($?) {Command}
No processador CMD nativo do Windows, você pode usar &
em comandos de string juntos para que um seja executado imediatamente após o outro. Um &&
executará o segundo comando apenas se o primeiro concluir sem erros.
Isto é diferente dos comandos de tubulação junto com |
em que a saída do primeiro comando não é enviada para o segundo comando, os comandos são simplesmente executados um após o outro e a saída para cada é enviado para o seu lugar habitual.
No entanto, recebo um erro quando tento usar &
ou &&
no PowerShell. Existem funções semelhantes disponíveis no PowerShell ou esse recurso está sendo suspenso?
Experimente esta função, que pode ser usada da mesma maneira:
function aa() {
if($?) {
$command = [string]::join(' ', $args[1..99])
& $args[0] $command
}
}
Agora, &&
pode ser substituído por ; aa
, o que, embora ainda não seja perfeito, é muito mais sucinto.
cls && build
torna-se
cls; aa build
Tags powershell