powershell比较2个阵列的输出(如果匹配)

powershell比较2个阵列的输出(如果匹配),powershell,Powershell,我有两个数组,我想比较 我有数组A[hi,no,lo,yes,because]和数组B[mick,tickle,fickle,pickle,ni,hi,no,lo,yes,because] 所以我想搜索A中的每个项目,并与B中的每个项目进行比较,如果有匹配项,则返回“有匹配项”一行: foreach ($elem in $A) { if ($B -contains $elem) { "there is a match" } } 但计算匹配项可能更方便: $c = 0; foreach ($el

我有两个数组,我想比较

我有数组A[hi,no,lo,yes,because]和数组B[mick,tickle,fickle,pickle,ni,hi,no,lo,yes,because]

所以我想搜索A中的每个项目,并与B中的每个项目进行比较,如果有匹配项,则返回“有匹配项”

一行:

foreach ($elem in $A) { if ($B -contains $elem) { "there is a match" } }
但计算匹配项可能更方便:

$c = 0; foreach ($elem in $A) { if ($B -contains $elem) { $c++ } }
"{0} matches found" -f $c
或者,如果要检查阵列是否相交:

foreach ($elem in $A) { if ($B -contains $elem) { "there is a match"; break } }
或者,如果要检查$A是否是$B的子集:

$c = 0; foreach ($elem in $A) { if ($B -contains $elem) { $c++ } }
if ($c -eq $A.Count) { '$A is a subset of $B' }
最后还有一个Compare-Object cmdlet,它实际上比上面所有的都好。示例(仅输出两个数组中存在的元素):


你试过什么?你犯了什么错误?请展示您所做的努力,以便我们能够帮助解决问题,我们不会在您不努力的情况下分发代码。我不确定您在问什么。您想知道A是否在B中找到,项目是否按顺序排列,还是想知道所有项目是否都在B中,但不一定按顺序排列?或者您想知道这些数组是否相同,是否按顺序排列?具体点。
Compare-Object -IncludeEqual -ExcludeDifferent $A $B