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

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.