String Comparison in Windows PowerShell

Q

How to compare two strings in Windows PowerShell?

✍: FYIcenter.com

A

Windows PowerShell supports the following string comparison operations:

-eq          - Equal to 
-ne          - Not equal to
-gt          - Greater than
-ge          - Greater than or equal to
-lt          - Less than
-le          - Less than or equal to
-Like        - Match with wildcard characters ? and *
-NotLike     - Not match with wildcard characters ? and *
-Match       - Match with regular expressions
-NotMatch    - Not match with regular expressions

Note that the above operations are case-insensitive. If you want to perform case-sensitive comparisons, you need to use the following comparison operations:

-ceq         - Case-sensitive equal to 
-cne         - Case-sensitive not equal to
-cgt         - Case-sensitive greater than
-cge         - Case-sensitive greater than or equal to
-clt         - Case-sensitive less than
-cle         - Case-sensitive less than or equal to
-cLike       - Case-sensitive match with wildcard characters ? and *
-cNotLike    - Case-sensitive not match with wildcard characters ? and *
-cMatch      - Case-sensitive match with regular expressions
-cNotMatch   - Case-sensitive not match with regular expressions

Here are some good examples of string comparison operations:

PS C:\fyicenter> "abc" -eq "Abc"
True
        
PS C:\fyicenter> "abc" -ceq "Abc"
False

PS C:\fyicenter> "abc" -lt "Abc"
False
PS C:\fyicenter> "abc" -clt "Abc"
True
          
PS C:\fyicenter> "anderson" -like "an*n"
True
PS C:\fyicenter> "anderson" -like "an????n"
False
PS C:\fyicenter> "anderson" -like "an?n"
False

PS C:\fyicenter> "anderson" -match "an.*n"
True
PS C:\fyicenter> "anderson" -NotMatch "an.*n"
False

 

Work with Strings in Windows PowerShell

⇒⇒Windows PowerShell Tutorials

2016-10-19, 434👍, 0💬