我試圖找出一種方法來獲取此命令從一個值的數組,而不是一個值過濾。目前,這是我的代碼是如何(和它的作品時$ ExcludeVerA是一個值):使用Powershell「where」命令與值數組進行比較
$ExcludeVerA = "7"
$java = Get-WmiObject -Class win32_product | where { $_.Name -like "*Java*"} |
where ({ $_.Version -notlike "$ExcludeVerA*" })
,我想$ ExcludeVerA有像這樣值的數組(這個目前不工作):
$ExcludeVerA = "7", "3", "4"
foreach ($x in $ExcludeVerA)
{
$java = Get-WmiObject -Class win32_product | where { $_.Name -like "*Java*"} |
where ({ $_.Version -notlike "$ExcludeVerA*" })
}
任何想法,爲什麼這第二塊代碼不起作用或我可以做什麼的其他想法?
第一種方法行不通,因爲$ _這些對象的版本屬性通常是像長號:7.01.04756,我需要通過僅第一個數字過濾(即我需要搜索7 *)。 – ThreePhase 2013-05-07 14:57:59
但是,使用正則表達式發佈的第二種方式效果非常好!它簡單而優雅。它也向我介紹正則表達式,所以謝謝:) – ThreePhase 2013-05-07 14:59:02