0

以下のコードが機能しない理由を誰か教えてもらえますか? たとえば、F: と G: の両方に一致するドライブで終了したいと考えています。

私はそれが単純なことを知っていますが、それを理解することはできません。簡単な説明を歓迎します。ありがとう

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

2 に答える 2

3

実際には、これを別の方法で使用する必要があります... :)

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

希望どおりに機能する演算子は、v3 で追加された -in です。HTH バーテック

于 2012-05-18T18:18:38.673 に答える
0

上記が機能するには、$WMIUSBDrives と $SystemDrives が一致する必要があると思います。

代わりにこれを試してください:

$USBDrives =$null 
$WMIUSBDrives="E:","F:","G:"
$SystemDrives="D:","F:","G:"
foreach($drive in $WMIUSBDrives)
{
    if($SystemDrives  -contains $drive){$USBDrives += $drive}
}
$USBDrives
于 2012-05-18T16:22:09.157 に答える