2012-05-18 230 views
0

誰能告訴我爲什麼下面的代碼不工作?我想結束與例如兩者匹配的驅動器F:和G:PowerShell:比較兩個變量

我知道它簡單但無法弄清楚。快速解釋將是受歡迎的。謝謝

$USBDrives =$null 
$WMIUSBDrives="E:","F:","G:" 
$SystemDrives="D:","F:","G:" 
$USBDrives = $SystemDrives | Where {$_ -contains $WMIUSBDrives} 
$USBDrives 

回答

0

對於上述工作,我認爲$ WMIUSBDrives和$ SystemDrives將不得不匹配。

試試這個:

$USBDrives =$null 
$WMIUSBDrives="E:","F:","G:" 
$SystemDrives="D:","F:","G:" 
foreach($drive in $WMIUSBDrives) 
{ 
    if($SystemDrives -contains $drive){$USBDrives += $drive} 
} 
$USBDrives 
+0

ive更新了問題,並在您的答案後面添加了更多信息。我想結束與兩者匹配的驅動器。 $ USBDrives應該包含「F:」,「G:」 – resolver101

+0

嗨,我已經更新了它現在返回的腳本: F:G: – Arcass

3

實際上,你應該使用解決這個其他方式... :)

$USBDrives = $SystemDrives | Where {$WMIUSBDrives -contains $_} 
$USBDrives 

的作品,你所希望的方式是-in這是在添加的運營商V3。 HTH Bartek