TÓPICO
about_If
DESCRIÇÃO RESUMIDA
Descreve um comando de linguagem que você pode usar para executar
listas de instruções baseadas nos resultados de um ou mais testes
condicionais.
DESCRIÇÃO LONGA
É possível usar a instrução If para executar blocos de código, se
um teste condicional especificado for avaliado como true. É
possível também especificar um ou mais testes condicionais extras
a serem executados, se todos os testes anteriores forem avaliados
como false. Finalmente, é possível especificar um bloco de códigos
adicionais, que será executado caso nenhum teste condicional anterior
tenha sido avaliado como true.
Sintaxe
O exemplo a seguir mostra a sintaxe de instrução If:
if (<test1>)
{<lista de instruções 1>}
[elseif (<test2>)
{<lista de instruções 2>}]
[else
{<lista de instruções 3>}]
Quando você executa uma instrução If, o Windows PowerShell avalia a
expressão condicional <test1> como verdadeira ou falsa. Se <test1>
for true, <lista de instruções 1> será executado e o Windows
PowerShell sairá da instrução If.
Se <test1> for false, o Windows PowerShell avaliará a condição
especificada pela instrução condicional <test2>.
Se <test2> for true, <lista de instruções 2> será executado e o
Windows PowerShell sairá da instrução If. Se <test1> e <test2>
forem false, o bloco de código <lista de instruções 3> será
executado e o Windows PowerShell sairá
da instrução If.
É possível usar várias instruções Elseif para encadear uma série
de testes condicionais, para que cada teste seja executado
somente se todos os testes anteriores forem false. Se for
necessário criar uma instrução if com muitas instruções Elseif,
considere o uso de uma instrução Switch.
Exemplos
A instrução If mais simples contém um único comando e não contém
nenhuma instrução Elseif ou outra instrução Else. O exemplo a
seguir mostra a forma mais simples da instrução If:
if ($a -gt 2)
{
Write-Host "O valor de $a é maior que 2."
}
Nesse exemplo, se a variável $a for maior que 2, a condição é
avaliada como verdadeira e a lista de instruções é executada. No
entanto, se $a for menor ou igual a 2, ou não for uma variável
existente, a instrução If não exibirá uma mensagem. Adicionando uma
instrução Else, será exibida uma mensagem quando $a for menor ou
igual a 2, como mostrado no exemplo abaixo:
if ($a -gt 2)
{
Write-Host "O valor de $a é maior que 2."
}
else
{
Write-Host "O valor de $a é menor ou igual a 2, não foi
criado ou não foi inicializado."
}
Para exemplificar melhor, é possível usar a instrução Elseif para
exibir uma mensagem quando o valor de $a for igual a 2, como
mostrado no exemplo abaixo:
if ($a -gt 2)
{
Write-Host "O valor de $a é maior que 2."
}
elseif ($a -eq 2)
{
Write-Host "O valor de $a é igual a 2."
}
else
{
Write-Host "O valor de $a é menor que 2, não foi criado
ou não foi inicializado."
}
CONSULTE TAMBÉM
about_Comparison_Operators
about_Switch