使用 Compare-Object 后为数组赋值
Assigning values to the an array after using Compare-Object
我一直在尝试为 Compare-Object 结果赋值,但我得到了有关输出的更多信息。
代码如下:
$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===}
为 Compare-Object
尝试 -PassThru
开关。它将输出字符串。如果该对象是一个对象,它将附加 sideindicator 作为额外的 属性.
例如。
$c = Compare-Object -IncludeEqual -ExcludeDifferent $a $b -PassThru
此外,如果您想保留原始的 FileInfo
-object,您可以指定 -Property Basename
以仅比较该值而不丢弃该对象的其余部分。例如
$c = Compare-Object (dir C:\_pc\*) (dir C:\Users\username\Documents\folder\Jezyki\*) -IncludeEqual -ExcludeDifferent -Property Basename -PassThru
我一直在尝试为 Compare-Object 结果赋值,但我得到了有关输出的更多信息。
代码如下:
$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===}
为 Compare-Object
尝试 -PassThru
开关。它将输出字符串。如果该对象是一个对象,它将附加 sideindicator 作为额外的 属性.
例如。
$c = Compare-Object -IncludeEqual -ExcludeDifferent $a $b -PassThru
此外,如果您想保留原始的 FileInfo
-object,您可以指定 -Property Basename
以仅比较该值而不丢弃该对象的其余部分。例如
$c = Compare-Object (dir C:\_pc\*) (dir C:\Users\username\Documents\folder\Jezyki\*) -IncludeEqual -ExcludeDifferent -Property Basename -PassThru