比较两个列表并查找列表一中的名称,而不是使用powershell列出两个列表

tys*_*619 5 windows powershell compare

只是想知道如果你能帮助我..我想比较两个列表(txt文件),并发现,在名单A字符串,而不是在列表B,并将其输出到另一个txt文件..有人知道如何使用做电源外壳 ?

这是我到目前为止:

Compare-Object -ReferenceObject $FolderLists -DifferenceObject $AdUserName -passThru
Run Code Online (Sandbox Code Playgroud)

我想找到$ FolderLists中的所有字符串而不是$ AdUserName,并可能将其输出到另一个变量.我遇到的问题是它输出的字符串不在两个列表中.

Adi*_*bar 16

我假设$ FolderList$ AdUserName是字符串数组?您并不需要Compare-Object来比较数组.这很简单:

$FolderList | ?{$AdUserName -notcontains $_}
Run Code Online (Sandbox Code Playgroud)

 

Compare-Object用于比较具有公共属性的对象集合的指定属性.如果你真的想要,你可以使用Compare-Object执行此操作,如下所示:

Compare-Object $FolderList $AdUserName | ?{$_.SideIndicator -eq '<='} | Select-Object -ExpandProperty InputObject
Run Code Online (Sandbox Code Playgroud)

但正如你所看到的,这项任务太过分了.

要将结果输出到另一个变量,只需指定它:

$AnotherVariable = $FolderList | ?{$AdUserName -notcontains $_}
Run Code Online (Sandbox Code Playgroud)