Académique Documents
Professionnel Documents
Culture Documents
about_Arithmetic_Aperators
DESCRIPCIN BREVE
Describe los operadores que realizan operaciones aritmticas en
Windows PowerShell.
DESCRIPCIN DETALLADA
Los operadores aritmticos calculan valores numricos. Puede
utilizar uno o ms operadores aritmticos para sumar, restar,
multiplicar y dividir valores, as como para calcular el resto
(mdulo) de una operacin de divisin.
Adems, el operador de adicin (+) y el operador de
multiplicacin (*) tambin funcionan con cadenas, matrices y
tablas hash. El operador de adicin concatena la entrada. El
operador de multiplicacin devuelve varias copias de la entrada.
Incluso se pueden mezclar tipos de objetos en una instruccin
aritmtica.
El tipo del objeto del extremo izquierdo de la expresin
determina el mtodo que se utiliza para evaluar la instruccin.
Windows PowerShell admite los siguientes operadores aritmticos:
Operador Descripcin
-------- ----------+
Suma nmeros enteros; concatena
cadenas, matrices y tablas hash.
Ejemplo
------6+2
"archivo" + "nombre"
6-2
(get-date).date - 1
-6+2
-4
6*2
"w" * 3
6/2
7%2
PRIORIDAD DE OPERADORES
Windows PowerShell procesa los operadores aritmticos en el orden
siguiente:
Parntesis ()
- (para un nmero negativo)
*, /, %
+, - (para la resta)
Windows PowerShell procesa las expresiones de izquierda a
C
Tambin es posible realizar operaciones aritmticas con objetos
de tipos diferentes. El tipo de Microsoft .NET Framework del
objeto del extremo izquierdo de la operacin determina la
operacin que Windows PowerShell realiza.Windows PowerShell
intenta convertir todos los objetos de la operacin al tipo de
.NET Framework del primer objeto. Si consigue convertir los objetos
correctamente, realiza la operacin adecuada para el tipo de .NET
Framework del primer objeto. Si no convierte cualquiera de los objetos,
se produce un error en la operacin.
En el ejemplo siguiente se demuestra el uso de los operadores de
adicin y multiplicacin en operaciones que incluyen tipos de objetos
diferentes:
C:\PS> "archivo" + 16
archivo16
C:\PS> $array = 1,2,3
C:\PS> $array + 16
1
2
3
16
C:\PS> $array + "archivo"
1
2
3
archivo
C:\PS> "archivo" * 3
archivoarchivoarchivo
Dado que el objeto del extremo izquierdo determina qu mtodo se
usa para evaluar las instrucciones, en Windows PowerShell las
operaciones de suma y multiplicacin no son estrictamente
conmutativas. Por ejemplo, (a + b) no siempre es igual a (b + a),
y (a * b) no siempre es igual a (b * a).
En el siguiente ejemplo se muestra este principio:
C:\PS> "archivo" + 2
archivo2
C:\PS> 2 + "archivo"
No se puede convertir el valor "archivo" a tipo
"System.Int32". Error: "La cadena de entrada no tiene el
formato correcto."
En lnea:1 carcter:4
+ 2 + <<<< "archivo"
C:\PS> "archivo" * 3
archivoarchivoarchivo
C:\PS> 3 * "archivo"
No se puede convertir el valor "archivo" a tipo
Valor
----Server02 1
1
2
Server01 3
3
C:\PS> $hash1 + 2
Solo se puede agregar una tabla de hash a otra tabla de hash.
En lnea:1 carcter:9
+ $hash1 + <<<< 2
C:\PS> 2 + $hash1
No se puede convertir "System.Collections.Hashtable" a "System.Int32".
En lnea:1 carcter:4
+ 2 + <<<< $hash1
En los ejemplos siguientes se muestra que se puede sumar una
tabla hash a una matriz. La tabla hash completa se suma a la
matriz como un nico objeto.
C:\PS> $array = 1,2,3
C:\PS> $array + $hash1
1
2
3
Nombre
---a
b
c
C:\PS> $sum = $array + $hash1
C:\PS> $sum.count
Valor
----1
2
3
4
C:\PS> $sum[3]
Nombre
---a
b
c
Valor
----1
2
3
Valor
----1
2
3
Server02
Aunque los operadores de adicin son muy tiles, deben utilizarse los
operadores de asignacin para agregar elementos a las tablas hash y a
las matrices. Para obtener ms informacin, vea about_assignment_opera
tors. En los ejemplos siguientes se utiliza el operador de asignacin
+= para agregar elementos a una matriz:
C:\PS> $array
1
2
3
C:\PS> $array + "archivo"
1
2
3
archivo
C:\PS> $array
1
2
3
C:\PS> $array += "archivo"
C:\PS> $array
1
2
3
archivo
C:\PS> $hash1
Nombre
---a
b
c
Valor
----1
2
3
Valor
----1
2
5
3
C:\PS> [Decimal]::maxvalue + 1
Valor demasiado grande o demasiado pequeo para Decimal.
En lnea:1 carcter:22
+ [Decimal]::maxvalue + <<<< 1
OPERADORES ARITMTICOS Y VARIABLES
Los operadores aritmticos tambin se pueden utilizar con
variables. Los operadores se aplican a los valores de las
variables. En los ejemplos siguientes se muestra cmo se usan los
operadores aritmticos con variables:
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 Y COMANDOS
Normalmente, los operadores aritmticos se utilizan en
expresiones con nmeros, cadenas y matrices. Sin embargo, tambin
se pueden utilizar con los objetos que los comandos devuelven y
con las propiedades de esos objetos.
En los ejemplos siguientes se muestra cmo utilizar los
operadores aritmticos en expresiones con comandos de Windows
PowerShell:
C:\PS> get-date
Mircoles, 2 de enero de 2008 1:28:42 p.m.
C:\PS> $day = new-timespan -day 1
C:\PS> get-date + $day
Jueves, 3 de enero de 2008 1:28:42 p.m.
C:\PS> get-process | where {($_.ws * 2) -gt 50mb}
Handles NPM(K) PM(K) WS(K) VM(M) CPU(s)
Id ProcessName
------- ------ ----- ----- ----- ------- ----------1896
39
50968 30620 264 1,572.55 1104 explorer
12802
78
188468 81032 753 3,676.39 5676 OUTLOOK
600
9
36168 26956 143
12.20 988 powershell
561
14
6592 28144 110 1,010.09 496 services
3476
80
34664 26092 234 ...45.69 876 svchost
967
30
58804 59496 416
930.97 2508 WINWORD
EJEMPLOS
En los ejemplos siguientes se muestra cmo utilizar los
C:\PS> $servers
Nombre Valor
---- ----2 Server02
1 Server01
0 LocalHost
C:\PS> $servers += @{3 = "Server03"} #Usar operador de asignacin
C:\PS> $servers
Nombre Valor
---- ----3 Server03
2 Server02
1 Server01
0 LocalHost
VEA TAMBIN
about_arrays
about_assignment_operators
about_comparison_operators
about_hash_tables
about_operators
about_variables
Get-Date
New-TimeSpan