Operadores de comparación Powershell
Los siguientes operadores no distinguen entre mayúsculas y minúsculas por defecto:
- -eq Igual
- -ne Distinto de
- -ge Mayor o igual
- -gt Mayor que
- -lt Menor que
- -le Menor o Igual que
- -like Wildcard comparison
- -notlike Expresion regular de comparación Wildcard
- -match Expresion regular de comparación
- -notmatch Expresion regular de comparación
- -replace Operador de reemplazo
- -contains Mira si contiene la parte que solicitamos
- –notcontains Igual que el anterior pero invertido.
- -in Como –contains, pero con los operadores invertidos.(PowerShell 3.0)
- -notin Como –notcontains, pero con los operadores invertidos.(PowerShell 3.0)
Para realizar una comparación sensible a mayúsculas y minúsculas, prefija cualquiera de las opciones anteriores con «c».
por ejemplo -ceq para mayúsculas, minúsculas y minúsculas o -creplace para reemplazar mayúsculas y minúsculas.
Del mismo modo, la prefijación con «i» hará que el operador sea insensible a mayúsculas y minúsculas.
Operadores de Tipo Powershell
- -is Is of a type
- -isnot Is not of a type
- -as As a type, no error if conversion fails
Operadores lógicos Powershell
- -and Logical And
- -or Logical Or
- -xor Logical exclusive Or
- -not logical not
- ! logical not
Operadores de bits Powershell
- -band Bitwise and
- -bor Bitwise or
- -bXor Bitwise OR (exclusive)
- -bNot Bitwise NOT
- -shl Shift bits left (PowerShell 3.0)
- -shr Shift bits right – conserva el signo para los valores firmados (PowerShell 3.0)
Operadores de Formato Powershell
"format_string" -f Objeto1, Objeto2,....
La cadena format_string está en el formulario: {0,-5} {1,-20} {2,-10}
En cada juego de llaves, el primer número, antes de la coma, se refiere a la columna.
El segundo número, después de la coma, determina el relleno (cuántos caracteres)
Si el segundo número es negativo, no sólo rellena el elemento, sino que lo alinea verticalmente. Opcionalmente se puede utilizar el segundo número para formatear :hh :mm :C :p
Cuando se aplica a una matriz, los operadores de comparación funcionarán como un filtro que devuelve todos los valores que coinciden.
Filtros
Filtros en Powershell
Un filtro PowerShell Filter acepta los siguientes operadores
- -eq
- -ne
- -ge
- -gt
- -lt
- -le
- -like
- -notlike
- -approx
- -bor
- -band
- -recursivematch
Observe que esta lista omite varios operadores útiles como -match y -contains, pero que todavía pueden ser usados por medio de una cláusula Where-Object:
... | where{$_.name -match 'value'}
Ejemplos de uso de los comparadores en powershell
$demo = $null
if (-Not ($demo)) { write «Zero, null or Empty»}
si (!($demo))) { write «Zero, null or Empty»}
$myVar -is «String»
$myVar -eq 123
$myVar -ceq $myVar2
«abcdef» -like «abc*»
«abcdef» -replace«dEf», «xyz»
$myVar1 -is «String» -and $myVar2 -is «Int»
«{2:N}» -f 24.4567
(1 -eq 1) -and -not (2 -gt 2)
$mycmd = ps | select id, ProcessName
foreach ($proc in $mycmd) {«{0,-8}{1,-20}» -f $proc.id, $proc.ProcessName}
«La regla del 50-50-90: Cada vez que tienes un 50% de posibilidades de hacer algo bien, hay un 90% de probabilidades de que lo hagas mal» ~ Andy Rooney
Comandos PowerShell relacionados
- If Powershell – Realizar una acción de forma condicional a una sentencia
- Powershell ForEach – Realizar un bucle sobre un array o lista de objetos
- While Powershell – Realizar un bucle en base a una condición evaluada verdadera
- Switch Powershell – Setea varias opciones para el valor de una variable y establece una secuencia de comandos predefinida para cada una de ellas.