Professional Documents
Culture Documents
about_Arithmetic_Operators
DESCRIO RESUMIDA
Descreve os operadores que executam aritmtica no Windows PowerShell.
DESCRIO LONGA
Operadores aritmticos calculam valores numricos. Voc pode usar
um ou mais operadores aritmticos para somar, subtrair,
multiplicar e dividir valores, bem como para calcular o resto
(mdulo) de uma operao de diviso.
Alm disso, o operador de adio (+) e o operador de
multiplicao (*) tambm funciona em cadeias de caracteres,
matrizes e tabelas de hash. O operador de adio concatena a
entrada. O operador de multiplicao retorna vrias cpias da
entrada. Voc pode at mesmo misturar tipos de objetos em uma
instruo aritmtica.
O mtodo usado para avaliar a instruo determinado pelo tipo
do objeto mais esquerda na expresso.
O Windows PowerShell oferece suporte aos seguintes operadores
aritmticos:
Operador Descrio
-------- ----------+
Adiciona inteiros; concatena cadeias
de caracteres, matrizes e tabelas de
hash.
Exemplo
------6+2
"nome" + "arquivo"
6-2
(get-date).date - 1
-6+2
-4
6*2
"w" * 3
6/2
7%2
PRECEDNCIA DE OPERADOR
O Windows PowerShell processa operadores aritmticos na seguinte
ordem:
Parnteses ()
- (para um nmero negativo)
*, /, %
+, - (para subtrao)
A
B
C
Voc tambm pode executar operaes aritmticas em objetos de
tipos diferentes. A operao que o Windows PowerShell executa
determinada pelo tipo do Microsoft .NET Framework do objeto mais
esquerda na operao.
O Windows PowerShell tenta converter todos os objetos na operao
para o tipo do .NET Framework do primeiro objeto. Se a converso
dos objetos for bem-sucedida, a operao apropriada ser executada
para o tipo do .NET Framework do primeiro objeto. Se a converso
de qualquer objeto falhar, a operao falhar.
O exemplo a seguir demonstra o uso dos operadores de adio e
multiplicao em operaes que incluem tipos de objeto diferentes:
C:\PS> "arquivo" + 16
arquivo16
C:\PS> $array = 1,2,3
C:\PS> $array + 16
1
2
3
16
C:\PS> $array + "arquivo"
1
2
3
arquivo
C:\PS> "arquivo" * 3
arquivoarquivoarquivo
Como o mtodo usado para avaliar instrues determinado pelo
objeto mais esquerda, a adio e a multiplicao no Windows
PowerShell no so totalmente comutativas. Por exemplo, (a + b)
no sempre igual a (b + a) e (a * b) nem sempre igual a (b * a).
Os exemplos a seguir demonstram esse princpio:
C:\PS> "arquivo" + 2
arquivo2
C:\PS> 2 + "arquivo"
No possvel converter o valor "arquivo" para o tipo
"System.Int32". Erro: "A cadeia de caracteres de entrada no
est em um formato correto".
At line:1 char:4
+ 2 + <<<< "arquivo"
C:\PS> "arquivo" * 3
arquivoarquivoarquivo
C:\PS> 3 * "arquivo"
No possvel converter o valor "arquivo" para o tipo
Valor
----Server02
1
2
Server01
3
C:\PS> $hash1 + 2
Voc pode adicionar outra tabela de hash somente a uma tabela
de hash.
At line:1 char:9
+ $hash1 + <<<< 2
C:\PS> 2 + $hash1
No possvel converter "System.Collections.Hashtable" em
"System.Int32".
At line:1 char:4
+ 2 + <<<< $hash1
Os exemplos a seguir demonstram que voc pode adicionar uma
tabela de hash a uma matriz. A tabela de hash inteira
adicionada matriz como um nico objeto.
C:\PS> $array = 1,2,3
C:\PS> $array + $hash1
1
2
3
Nome
---a
b
c
Valor
----1
2
3
Valor
----1
2
3
Valor
----1
2
3
Server02
Valor
----1
2
3
Valor
----1
2
5
3
C:\PS> [Decimal]::maxvalue
79228162514264337593543950335
C:\PS> [Decimal]::maxvalue + 1
O valor era muito grande ou muito pequeno para Decimal.
At line:1 char:22
+ [Decimal]::maxvalue + <<<< 1
OPERADORES ARITMTICOS E VARIVEIS
Voc tambm pode usar operadores aritmticos com variveis. Os
operadores atuam nos valores das variveis. Os exemplos a seguir
demonstram o uso de operadores aritmticos com variveis:
C:\PS> $intA = 6
C:\PS> $intB = 4
C:\PS> $intA + $intB
10
C:\PS>
C:\PS>
C:\PS>
C:\PS>
$a
$b
$c
$a
=
=
=
+
"Windows "
"PowerShell "
2
$b + $c
Windows PowerShell 2
OPERADORES ARITMTICOS E COMANDOS
Normalmente, voc usa os operadores aritmticos em expresses com
nmeros, cadeias de caracteres e matrizes. Porm, voc tambm
pode usar operadores aritmticos com os objetos que os comandos
retornam e com as propriedades desses objetos.
Os exemplos a seguir mostram como usar os operadores aritmticos
em expresses com comandos do Windows PowerShell:
C:\PS> get-date
Quarta-feira, 02 de janeiro de 2008 1:28:42 PM
C:\PS> $day = new-timespan -day 1
C:\PS> get-date + $day
Quinta-feira, 03 de janeiro de 2008 1:34:52 PM
C:\PS> get-process | where {($_.ws * 2) -gt 50mb}
Handles NPM(K)
PM(K)
WS(K) VM(M) CPU(s)
------- -------------- ----- -----1896
39
50968
30620 264 1,572.55
12802
78 188468
81032 753 3,676.39
660
9
36168
26956 143
12.20
561
14
6592
28144 110 1,010.09
3476
80
34664
26092 234 ...45.69
967
30
58804
59496 416 930.97
EXEMPLOS
Id
-1104
5676
988
496
876
2508
ProcessName
----------explorer
OUTLOOK
powershell
services
svchost
WINWORD
C:\PS> $servers
Nome Valor
---- ----2 Server02
1 Server01
0 LocalHost
C:\PS> $servers += @{3 = "Server03"} #Usar operador de atribuio
C:\PS> $servers
Nome Valor
---- ----3 Server03
2 Server02
1 Server01
0 LocalHost
CONSULTE TAMBM
about_arrays
about_assignment_operators
about_comparison_operators
about_hash_tables
about_operators
about_variables
Get-Date
New-TimeSpan