使用Compare-Object后为数组赋值

时间:2017-01-25 13:54:36

标签: arrays powershell compareobject

我一直在尝试分配比较对象结果的值,但我在输出上获得了额外的信息。

以下是代码:

$a = (dir C:\_pc\*).BaseName
$b = (dir C:\Users\username\Documents\folder\Jezyki\*).BaseName
$c = (Compare-Object -IncludeEqual -ExcludeDifferent $a $b)
foreach ($element in $c) {
"$element"
}
Write-Output ($c)

运行此脚本的示例输出:

@{InputObject=FolderName; SideIndicator===}

1 个答案:

答案 0 :(得分:0)

尝试-PassThru的{​​{1}}开关。它将输出字符串。如果对象是一个对象,它会将sideindicator附加为一个额外的属性。

实施例。

Compare-Object

此外,如果您想保留原始的$c = Compare-Object -IncludeEqual -ExcludeDifferent $a $b -PassThru - 对象,则可以指定FileInfo来比较该值,而不会丢弃对象的其余部分。实施例

-Property Basename