Olá pessoal, tudo bem? Espero que sim!

No último post, falamos sobre o que são e como utilizar os Operadores de Comparação. Hoje vamos abordar como você pode combiná-los com os Operadores Lógicos para construir testes lógicos avançados utilizando os métodos disponíveis no Powershell.

O que são Operadores Lógicos?

Operadores Lógicos são conectores que permitem criar expressões com múltiplas comparações. Eles trabalham diretamente com os Operadores de Comparação para conectar instruções condicionais que determinarão o caminho que seu script poderá seguir.

Exemplo:

Como podemos observar no exemplo acima, ao utilizar o operador -and entre duas variáveis, seguidas da comparação -match <valor>, o valor de saída retornado foi “True“. Isto ocorreu, pois, ambas as variáveis possuem o termo “World”, atendendo a todas as comparações impostas pelo teste lógico, logo, seu resultado é verdadeiro. A leitura da expressão é realizada da seguinte maneira:

Dado a variável $valor1 ser igual a “Hello World” e a variável $valor2 igual a “Bye World”, o valor armazenado em $valor1 e o valor armazenado em $valor2 possui alguma afinidade com o termo “World”?

Resposta: Sim. Ambas as variáveis possuem o termo “World” em suas características.

Operadores Lógicos disponíveis no Powershell

Vamos analisar a seguinte tabela com os principais Operadores Lógicos disponíveis no Powershell:

Operador Descrição
-and “E” lógico. É um valor TRUE (Verdadeiro) quando ambas declarações são verdadeiras
-or “OU” lógico. É um valor TRUE (Verdadeiro) quando a declaração é verdadeira
-xor “OU EXCLUSIVO” Lógico. É um valor TRUE (Verdadeiro) quando ambas as comparações são verdadeiras
-not “NÃO” Lógico. Nega a declaração
! “NÃO” Lógico. Nega a declaração, alias de -not
-and (E)

O operador -and conecta uma ou mais operações a uma ou mais comparações e somente será TRUE (Verdadeiro) se todas as condições obrigatoriamente forem atendidas.

Exemplo:

Nos exemplos acima, podemos observar um que realiza diversas comparações em que múltiplos valores precisam obrigatoriamente atender a respectivas comparações e outro exemplo onde múltiplos valores precisam atender a apenas uma condição declarada. Como este teste lógico é booleano, o resultado da expressão será verdadeiro ou falso.

-or (Ou)

O operador -or realiza uma conexão de uma ou mais comparações, contudo, diferente do operador  -and, se apenas uma ou mais condições forem atendidas, será retornado TRUE (Verdadeiro).

Exemplo:

Nos exemplos acima, podemos observar o primeiro que realiza diversas comparações em que múltiplos valores podem atender às respectivas condições e outro exemplo onde múltiplos valores podem atender a apenas uma condição declarada. Como este teste lógico é booleano, o resultado da expressão será verdadeiro ou falso se qualquer uma ou todas as comparações impostas forem atendidas.

-xor (Somente uma das comparações entre “Ou” é verdadeira)

Diferente de -or, o operador -xor somente retornará TRUE (Verdadeiro), se apenas uma das comparações for atendida. Isto é chamado de exclusividade, ou seja, apenas um valor do teste atendeu às condições impostas.

Exemplo:

No exemplo acima, observamos dois testes lógicos que em ambos os casos, apenas um dos resultados atendem às comparações definidas.

-not (Não)

O operador -not é um realiza a negação da comparação imposta. Ele é declarado antes da comparação e a expressão retornará TRUE (Verdadeiro) se o valor atender ao inverso da condição imposta.

Exemplo:

Nos exemplos acimas, podemos observar algumas expressões que realizam comparações simples precedidos do operador -not. Os resultados das expressões são o resultado do inverso das condições impostas, ou seja, se não declarássemos o -not, as saídas das comparações seriam respectivamente True, False e False.

! (Não)

Assim como o operador -not, o operador ! também realiza a negação da comparação imposta. Ele é declarado antes da comparação e a expressão retornará TRUE (Verdadeiro) se o valor atender ao inverso da condição imposta.

Exemplo:

Nos exemplos acimas, podemos observar algumas expressões que realizam comparações simples precedidos do operador !. Os resultados das expressões são o resultado do inverso das condições impostas, ou seja,  assim como o -not, se não declarássemos o !, as saídas das comparações seriam respectivamente True, False e False.

Conclusão

Os Operadores Lógicos são métodos complementares para a utilização em conjunto com os Operadores de Comparação, pois, você pode criar diversas comparações para orientar seu script até o objetivo de acordo com as circunstâncias avaliadas durante a sua execução. São essenciais para o refinamento de dados retornados de objetos através de cmdlets, ou para criar múltiplas condições para capturar determinado valor em uma propriedade de um objeto.

Dúvidas, sugestões, críticas? Entre em contato aqui!

Gostou? Deixe seu comentário e não se esqueçam de curtir a página do Facebook na barra lateral!