Windows Vista Forums
Vista Forums Home Join Vista Forums Windows 7 Forum Vista Tutorials Tags
Welcome to Windows Vista Forums. Our forum is dedicated to helping you find solutions with any problems, errors or issues you are experiencing with Windows Vista. The Vista forum also covers news and updates and has an extensive Windows Vista tutorial section that covers a wide range of tips and tricks.

Go Back   Vista Forums > Misc Newsgroups > PowerShell

Vista - Re: parsing through an array with -match

Reply
 
Old 12-07-2007   #1 (permalink)
Kiron


 
 

Re: parsing through an array with -match

-notmatch's pattern is a regEx and '$' is a regEx special character that has to be escaped. Try this:

if ($rec -match "MSSQL" -and $rec -notmatch "MSSQL\$MSAC")

--
Kiron

My System SpecsSystem Spec
Old 12-07-2007   #2 (permalink)
Kiron


 
 

Re: parsing through an array with -match

One more thing, remember that PowerShell expands variables in a double quoted string.

# PowerShell sees $MSAC as a variable and expands it,
# since $MSAC is not a variable $null is expanded
$arr1 = "MSSQL", "MSSQL$MSAC", "MSSQLEXPRESS"
$arr1

# escape the '$' with a backtick
$arr2 = "MSSQL", "MSSQL`$MSAC", "MSSQLEXPRESS"
$arr2

# ...or single quote the element with '$'
$arr3 = "MSSQL", 'MSSQL$MSAC', "MSSQLEXPRESS"
$arr3

--
Kiron
My System SpecsSystem Spec
Reply

Thread Tools


Similar Threads
Thread Forum
Fast copy method of sub array (=array range) possible? VB Script
How to create array without quotes? $array = (a,b,c) PowerShell
Stupid Array Tricks: Initializing an Array to a Certain Size PowerShell
Re: match against array PowerShell
how to assign values to array and how to create array via variable PowerShell


Vista Forums is an independent web site and has not been authorized,
sponsored, or otherwise approved by Microsoft Corporation.
"Windows Vista", the Start Orb, and related materials are trademarks of Microsoft Corp.
© Designer Media Ltd

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46