You are on page 1of 8

TEMA

about_Comparison_Operators
DESCRIPCIN BREVE
Describe los operadores que comparan valores en Windows PowerShell.
DESCRIPCIN DETALLADA
Los operadores de comparacin permiten especificar las
condiciones para comparar valores y buscar valores que coinciden
con patrones especificados. Para usar un operador de comparacin, se
especifican los valores que se desea comparar, junto con un operador
que los separa.

De forma predeterminada, los operadores de comparacin no
distinguen entre maysculas y minsculas. Para que un operador de
comparacin distinga entre maysculas y minsculas, su nombre debe ir
precedido de un "c".
Por ejemplo, la versin de "-eq" que distingue entre maysculas y
minsculas es "-ceq". Para indicar explcitamente que no se
distinga entre maysculas y minsculas, el operador debe ir
precedido de "i". Por ejemplo, la versin de "-eq" que
explcitamente no distingue entre maysculas y minsculas es "ieq".
Todos los operadores de comparacin, excepto los de contencin
(-contains, -notcontains) y los de tipo (-is, -isnot) devuelven
un valor de tipo boolean cuando la entrada al operador (el valor
que figura a la izquierda del operador) es un valor nico (un
escalar). Cuando la entrada es una coleccin de valores, los
operadores de contencin y de tipo devuelven todos los valores
coincidentes. Si no hay ninguna coincidencia en una coleccin, estos
operadores no devuelven nada. Los operadores de contencin y los
operadores de tipo siempre devuelven un valor de tipo boolean.
Windows PowerShell admite los siguientes operadores de comparacin.
-eq
Descripcin: igual a. Incluye un valor idntico.
Ejemplo:
C:\PS> "abc", "def" -eq "abc"
abc
-ne
Descripcin: distinto de. Incluye un valor diferente.
Ejemplo:
C:\PS> "abc", "def" -ne "abc"
def
-gt
Descripcin: mayor que.
Ejemplo:
C:\PS> 8 -gt 6
True
-ge
Descripcin: mayor o igual que.
Ejemplo:
C:\PS> 8 -ge 8
True
-lt
Descripcin: menor que.
Ejemplo:
C:\PS> 8 -lt 6
False
-le
Descripcin: menor o igual que.
Ejemplo:
C:\PS> 6 -le 8
True

-like
Descripcin: busca coincidencias utilizando el carcter comodn (*).
Ejemplo:
C:\PS> "Windows PowerShell" -like "*shell"
True
-notlike
Descripcin: busca valores que no coinciden mediante el carcter comodn (*).
Ejemplo:
C:\PS> "Windows PowerShell" -notlike "*shell"
False

-match
Descripcin: busca coincidencias de una cadena mediante expresiones
regulares. Cuando la entrada es escalar, rellena la variable
automtica $Matches.
Ejemplo:

C:\PS> "Domingo" -match "dom"
True
C:\PS> $matches
Nombre Valor
---- -----
0 dom


-notmatch
Descripcin: busca valores que no coinciden con una cadena. Utiliza
expresiones regulares.
Cuando la entrada es escalar, rellena la variable
automtica $Matches.
Ejemplo:
C:\PS> "Domingo" -notmatch "dom"
False
C:\PS> $matches
Nombre Valor
---- -----
0 dom

-contains
Descripcin: operador de contencin. Incluye un valor idntico
que no forma parte de un valor. Siempre devuelve un valor de
tipo boolean.
Ejemplo:
C:PS> "abc", "def" -contains "def"
True
-notcontains
Descripcin: operador de contencin. No incluye un valor
idntico. Siempre devuelve valores de tipo boolean.
Ejemplo:
C:PS> "Windows", "PowerShell" -notcontains "Shell"
True

-replace
Descripcin: operador de reemplazo. Cambia los elementos
especificados de un valor.
Ejemplo:
C:\PS> "Get-Process" -replace "Get", "Stop"
Stop-Process

Operadores de igualdad
Los operadores de igualdad (-eq, -ne) devuelven el valor TRUE o las
coincidencias encontradas cuando uno o ms de los valores de entrada
son idnticos al patrn especificado. El patrn completo debe
coincidir con un valor completo.
En los ejemplos siguientes se muestra el efecto del operador igual a:
C:PS> 1,2,3 -eq 2
2
C:PS> "PowerShell" -eq "Shell"
False
C:PS> "Windows", "PowerShell" -eq "Shell"
C:PS>
C:\PS> "abc", "def", "123" -eq "def"
def

Operadores de contencin
Los operadores de contencin (-contains y -notcontains) son
similares a los operadores de igualdad. Sin embargo, los
operadores de contencin siempre devuelven un valor de tipo
boolean, aunque la entrada sea una coleccin.
Adems, a diferencia de los operadores de igualdad, los
operadores de contencin devuelven un valor tan pronto como
detectan la primera coincidencia. Los operadores de igualdad
evalan toda la entrada y, a continuacin, devuelven todas las
coincidencias de la coleccin.
En los ejemplos siguientes se muestra el efecto del operador
-contains:
C:PS> 1,2,3 -contains 2
True
C:PS> "PowerShell" -contains "Shell"
False
C:PS> "Windows", "PowerShell" -contains "Shell"
False
C:\PS> "abc", "def", "123" -contains "def"
True
C:\PS> "verdadero", "azul", "seis" -contains "verdadero"
True

En el ejemplo siguiente se muestran las diferencias entre los
operadores de contencin y el operador igual a. Los operadores
de contencin devuelven el valor TRUE cuando se produce la primera
coincidencia.

C:\PS> 1,2,3,4,5,4,3,2,1 -eq 2
2
2
C:\PS> 1,2,3,4,5,4,3,2,1 -contains 2
True


En una coleccin muy grande, el operador -contains devuelve
resultados antes que el operador igual a.
Operadores de coincidencia
Los operadores de coincidencia (-match y -notmatch) buscan
elementos que coinciden o no coinciden con un patrn
especificado mediante expresiones regulares.
La sintaxis es la siguiente:
<string[]> -match <expresin-regular>
<string[]> -notmatch <expresin-regular>
En los ejemplos siguientes se muestran algunos usos del
operador -match:
C:\PS> "Windows", "PowerShell" -match ".shell"
PowerShell
C:\PS> (get-command get-member -syntax) -match "-view"
True
C:\PS> (get-command get-member -syntax) -notmatch "-path"
True
C:\PS> (get-content servers.txt) -match "^Server\d\d"
Server01
Server02

Los operadores de coincidencia buscan solamente en cadenas. No
pueden buscar en matrices de enteros ni en otros objetos.
Los operadores -match y -notmatch rellenan la variable
automtica $Matches cuando la entrada (el argumento de la
izquierda) al operador es un nico objeto escalar. Cuando la
entrada es escalar, los operadores -match y -notmatch devuelven
un valor de tipo boolean y establecen el valor de la variable
automtica $Matches en los componentes coincidentes del argumento.
Si la entrada es una coleccin, los operadores -match y
-notmatch devuelven los miembros coincidentes de esa coleccin,
pero el operador no rellena la variable $Matches.
Por ejemplo, el comando siguiente enva una coleccin de
cadenas al operador -match. El operador -match devuelve los
elementos que coinciden de la coleccin. No rellena la variable
automtica $Matches.
C:\PS> "Domingo", "Lunes", "Martes" -match "dom"
Domingo
C:\PS> $matches
C:\PS>
En contraste, el comando siguiente enva una sola cadena al
operador de coincidencia. El operador -match devuelve un valor
de tipo boolean y rellena la variable automtica $Matches.
C:\PS> "Domingo" -match "dom"
True
C:\PS> $matches
Nombre Valor
---- -----
0 Dom
El operador -notmatch rellena la variable automtica $Matches
cuando la entrada es escalar y el resultado es False, es decir,
cuando detecta una coincidencia.
C:\PS> "Domingo" -notmatch "lluvia"
True
C:\PS> $matches
C:\PS>

C:\PS> "Domingo" -notmatch "ngo"
False
C:\PS> $matches
C:\PS>
Nombre Valor
---- -----
0 ngo

Operador de sustitucin
El operador -replace reemplaza la totalidad o parte de un valor
con el valor especificado mediante expresiones regulares. Puede
utilizar el operador -replace para muchas tareas administrativas,
tales como cambiar el nombre de los archivos. Por ejemplo, el
comando siguiente cambia las extensiones de nombre de archivo
de todos los archivos .gif por .jpg:

Get-ChildItem | Rename-Item -NewName { $_ -replace '.gif$','.jpg$' }

La sintaxis del operador -replace es la siguiente, donde el
marcador de posicin <original> representa los caracteres que
se van a reemplazar y el marcador de posicin <sustituto>
representa los caracteres que los
reemplazarn:
<entrada> <operador> <original>, <sustituto>
De forma predeterminada, el operador -replace no distingue entre
maysculas y minsculas. Para que s las distinga, se utiliza -
creplace. Para que explcitamente no efecte la distincin entre
maysculas y minsculas, se utiliza ireplace. Observe los ejemplos
siguientes:
C:\PS> "libro" -replace "B", "T"
liTro
C:\PS> "libro" -ireplace "B", "T"
liTro
C:\PS> "libro" -creplace "B", "T"
libro

Operadores bit a bit
Windows PowerShell admite los operadores bit a bit estndar,
incluidos AND bit a bit (-band) y los operadores OR bit a bit
incluyentes y excluyentes (-bor y -bxor). A partir de Windows
PowerShell 2.0, todos los operadores bit a bit funcionan con
enteros de 64 bits.
Windows PowerShell admite los siguientes operadores bit a bit.
Operador Descripcin Ejemplo
-------- ---------------------- -------------------
-band AND bit a bit C:\PS> 10 -band 3
2

-bor OR bit a bit (incluyente) C:\PS> 10 -bor 3
11
-bxor OR bit a bit (excluyente) C:\PS> 10 -bxor 3
9

Los operadores bit a bit operan con el formato binario de un
valor. Por ejemplo, la estructura de bits correspondiente al
nmero 10 es 00001010 (en formato de 1 byte) y la del nmero 3
es 00000011. Cuando se usa un operador bit a bit para comparar
10 con 3, se compararn los bits individuales de cada byte.

En una operacin con AND bit a bit, el bit resultante se
establece en 1 nicamente si los dos bits de entrada son 1.
00001010 (10)
00000011 ( 3)
------------------ bAND
00000010 ( 2)

En una operacin de OR bit a bit (incluyente), el bit resultante se
establece en 1 cuando uno de los dos bits de entrada o ambos son 1. El bit

resultante se establece en 0 solamente si ambos bits de entrada se
establecen en 0.
00001010 (10)
00000011 ( 3)
------------------ bOR (incluyente)
00001011 (11)
En una operacin OR bit a bit (excluyente), el bit resultante
se establece en 1 solamente cuando uno de los bits de entrada es 1.
00001010 (10)
00000011 ( 3)
------------------ bXOR (excluyente)
00001001 ( 9)

VEA TAMBIN
about_Operators
about_Regular_Expressions
about_Wildcards
Compare-Object

You might also like