Como combinar múltiplas condições em uma instrução if

  1. a Instrução if no PowerShell
  2. Usar Operadores Lógicos para Combinar Múltiplas Condições na Instrução if no PowerShell
  3. Usar Múltiplos Operadores para Combinar Múltiplas Condições na Instrução if no PowerShell
  4. Aninhamento de Instruções if para Combinar Múltiplas Condições no PowerShell
  5. Conclusão
Como combinar múltiplas condições em uma instrução if

No PowerShell, a instrução if é uma ferramenta poderosa para a tomada de decisões. No entanto, muitas tarefas exigem que você combine várias condições para um controle mais preciso.

Neste artigo, vamos examinar os vários métodos de como combinar múltiplas condições usando operadores lógicos na instrução if do PowerShell.

a Instrução if no PowerShell

Aqui está um exemplo simples de uma instrução if. Se a condição dentro dos parênteses for avaliada como verdadeira, ela executará o comando Write-Host "2 é igual a 2.".

Código:

if (2 -eq 2) {
    Write-Host "2 is equal to 2."
}

Se a condição especificada nos parênteses () for avaliada como $true, então ela executa o comando nas chaves {}.

Saída:

2 is equal to 2.

Se a condição for $false, ela pulará esse bloco de código. O exemplo acima usa uma condição, mas você também pode avaliar múltiplas condições na instrução if.

Usar Operadores Lógicos para Combinar Múltiplas Condições na Instrução if no PowerShell

Os operadores lógicos conectam declarações e expressões no PowerShell. Você pode usar uma única expressão para testar várias condições usando-os.

Os operadores lógicos suportados no PowerShell são -and, -or, -not, -xor e !. Neste artigo, discutiremos apenas como usar os operadores -and, -or, -not e -xor para combinar múltiplas condições na instrução if no PowerShell.

Usar o Operador -and para Combinar Múltiplas Condições na Instrução if no PowerShell

O exemplo a seguir usa o operador -and para conectar duas declarações combinadas na instrução if. Se a primeira condição 5 é menor que 10 for verdadeira e a segunda condição 7 é maior que 5 for verdadeira, o comando Write-Host será executado.

Código:

if ((5 -lt 10) -and (7 -gt 5)) {
    Write-Host "The above conditions are true."
}

Saída:

The above conditions are true.

Como ambas as condições são verdadeiras neste caso, o bloco de código é executado e a mensagem "As condições acima são verdadeiras." é impressa na saída.

Usar o Operador -or para Combinar Múltiplas Condições na Instrução if no PowerShell

Neste código, usamos os operadores -lt (menor que) e -gt (maior que) para verificar se 5 é menor que 10 ou se 7 é maior que 5. Depois, usamos o operador -or para verificar se alguma (5 -lt 10) ou (7 -gt 5) é verdadeira.

Código:

if ((5 -lt 10) -or (7 -gt 5)) {
    Write-Host "At least one of the above conditions is true."
}
else {
    Write-Host "Neither of the above conditions is true."
}

Saída:

At least one of the above conditions is true.

Como ambas as condições são verdadeiras no código original, ele imprime que "Pelo menos uma das condições é verdadeira.".

Usar o Operador -not para Combinar Múltiplas Condições na Instrução if no PowerShell

No código a seguir, temos uma variável $number representando um valor numérico. Usamos os operadores -lt (menor que) e -gt (maior que) para verificar se o número é menor que 5 ou maior que 10.

O operador -or é usado para combinar as duas condições em seus lados esquerdo e direito. Ele retorna verdadeiro se pelo menos uma das condições for verdadeira. Como ambas as condições são falsas, a expressão -or é avaliada como falsa.

O operador -not é aplicado ao resultado da expressão -or. Ele nega o resultado, pois a expressão -or é falsa; aplicar -not a torna verdadeira.

Código:

$number = 7

if (-not ($number -lt 5 -or $number -gt 10)) {
    Write-Host "The number is between 5 and 10 (inclusive)."
}
else {
    Write-Host "The number is outside the range of 5 to 10."
}

Saída:

The number is between 5 and 10 (inclusive).

Porque o operador -not torna a condição combinada verdadeira, o código dentro do bloco if é executado. A saída indica que o valor de $number = 7 está dentro da faixa especificada de 5 a 10 (incluso).

Usar o Operador -xor para Combinar Múltiplas Condições na Instrução if no PowerShell

O código a seguir verifica duas condições e usa o operador -xor para determinar seu valor de verdade combinado. Dentro da instrução if, há duas condições: A primeira condição é se 5 é menor que 10, e a segunda condição é se 7 é maior que 5.

O operador -xor é um operador OU exclusivo, o que significa que ele retorna verdadeiro se exatamente um de seus operandos for verdadeiro e falso se ambos os operandos forem verdadeiros ou ambos forem falsos.

Neste caso, ambas as condições são verdadeiras, portanto a expressão -xor é avaliada como falsa, e o código dentro do bloco else é executado.

Código:

if ((5 -lt 10) -xor (7 -gt 5)) {
    Write-Host "Exactly one of the above conditions is true."
}
else {
    Write-Host "Neither or both of the above conditions are true."
}

Saída:

Neither or both of the above conditions are true.

A saída imprime "Nem nenhuma nem ambas das condições acima são verdadeiras.", uma vez que indica que nenhuma das condições é exclusivamente verdadeira; ambas as condições são verdadeiras ou falsas juntas.

Usar Múltiplos Operadores para Combinar Múltiplas Condições na Instrução if no PowerShell

Da mesma forma, você pode combinar várias condições usando operadores lógicos na instrução if do PowerShell. Neste exemplo, executamos comandos diferentes com base em se as condições combinadas são verdadeiras ou falsas.

O código abaixo combina várias condições usando os operadores lógicos -and e -or. Se alguma dessas condições for verdadeira, ele executará o primeiro comando (Write-Host "É verdade."); caso contrário, o segundo comando (Write-Host "É falso.") será executado.

Código:

if (((10 -lt 20) -and (10 -eq 10)) -or ((15 -gt 5) -and (12 -lt 6))) {
    Write-Host "It is true."
}
else {
    Write-Host "It is false."
}

Saída:

It is true.

Aqui, a instrução if verifica as condições combinadas e executa o bloco de comando apropriado com base na avaliação dessas condições. Como a condição é verdadeira, imprimiu a mensagem "É verdade.".

Lembre-se de envolver cada conjunto de condições entre parênteses () e usar os operadores lógicos que atendem aos seus requisitos específicos.

Aninhamento de Instruções if para Combinar Múltiplas Condições no PowerShell

Aninhar instruções if pode ser valioso quando você tem condições complexas que exigem múltiplas camadas de avaliação. Por exemplo, quando você precisa verificar uma condição dentro de um contexto específico ou realizar ações diferentes com base em condições variadas, o aninhamento de instruções if permite uma abordagem mais estruturada.

Neste código, declaramos uma variável $number = 15. Então, criamos a instrução if externa que verifica se $number é maior ou igual a 10.

Se a condição externa for verdadeira, a instrução if aninhada verifica se $number é menor ou igual a 20.

Código:

$number = 15

if ($number -ge 10) {
    if ($number -le 20) {
        Write-Host "The number is between 10 and 20."
    }
}

Saída:

The number is between 10 and 20.

Neste código, a instrução if externa verifica se $number é maior ou igual a 10. Se essa condição for atendida, ela prossegue para a instrução if aninhada, que verifica se $number é menor ou igual a 20.

Somente quando ambas as condições são verdadeiras é que ele executa o comando Write-Host. Na saída, ambas as condições são atendidas e a mensagem "O número está entre 10 e 20." é impressa.

Conclusão

Em conclusão, combinar múltiplas condições na instrução if do PowerShell é essencial para criar scripts eficientes. Com os operadores lógicos -and, -or, -not e -xor, você pode criar uma lógica condicional complexa para enfrentar uma ampla gama de desafios de scripting.

Seja para condições simples ou instruções if aninhadas, o PowerShell oferece ferramentas poderosas para ajudá-lo a tomar decisões informadas e executar as ações corretas em seus scripts.

Está gostando dos nossos tutoriais? Inscreva-se no DelftStack no YouTube para nos apoiar na criação de mais vídeos tutoriais de alta qualidade. Inscrever-se
Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website

Artigo relacionado - PowerShell Statement