问题标签 [compareobject]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
616 浏览

c# - 跨程序集的 Assert.Equal 匿名对象失败

Assert.Equal()的匿名对象返回 false,但是在调试器中非常仔细地手动检查属性,一切似乎都很好。

它不会抱怨每个说的属性,只有以下内容(如果您在差异工具中进行比较,则完全相同)。

预期:{ id = 1, name = , children = System.Collections.Generic.List 1[System.Collections.Generic.Dictionary2[System.String,System.String]] } (<>f__AnonymousType1 3[[System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Collections.Generic.List1[[System.Collections.Generic.Dictionary`2[[System .String,mscorlib,版本=4.0.0.0,文化=中性,PublicKeyToken=b77a5c561934e089],[System.String,mscorlib,版本=4.0.0.0,文化=中性,PublicKeyToken=b77a5c561934e089]],mscorlib,版本=4.0.0.0 , 文化=中性, PublicKeyToken=b77a5c561934e089]], mscorlib, 版本=4.0.0.0, 文化=中性, PublicKeyToken=b77a5c561934e089]])


实际:{ id = 1, name = , children = System.Collections.Generic.List 1[System.Collections.Generic.Dictionary2[System.String,System.String]] } (<>f__AnonymousType1 3[[System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Collections.Generic.List1[[System.Collections.Generic.Dictionary`2[[System .String,mscorlib,版本=4.0.0.0,文化=中性,PublicKeyToken=b77a5c561934e089],[System.String,mscorlib,版本=4.0.0.0,文化=中性,PublicKeyToken=b77a5c561934e089]],mscorlib,版本=4.0.0.0 , 文化=中性, PublicKeyToken=b77a5c561934e089]], mscorlib, 版本=4.0.0.0, 文化=中性, PublicKeyToken=b77a5c561934e089]])

0 投票
2 回答
24274 浏览

powershell - Powershell 比较对象格式输出

这是我写的脚本:

这是我的输出:

我是否可以以可以更改每列标题的方式格式化我的输出?

而不是=><=我可以给出差异实际上是在哪个文件中找到的?

这是我正在寻找的输出类型:

我对 PowerShell 还是很陌生,所以如果你能解释你的答案那就太好了,这样我就可以理解实际发生了什么。

我也在尝试制作这个“虚拟证明”,以便任何人都可以比较两个文本文件,而无需进一步输入。

任何帮助将不胜感激!

0 投票
3 回答
17254 浏览

function - PowerShell:函数没有正确的返回值

我写了一个powershell脚本来比较两个文件夹的内容:

如果我在 上设置断点Compare-Object,并在控制台中运行此命令,我会得到差异列表。如果我运行整个脚本,我不会得到任何输出。为什么?

我正在使用 PowerGUI 脚本编辑器,但我也尝试了普通的 ps 控制台。

编辑:

问题是脚本末尾的检查。

如果我打电话Test-Diff$i =检查,它的工作原理!

Test-Diff返回一个对象数组,而不是预期的 bool 值:

如果我用 注释掉该行Compare-Object,则返回值是一个布尔值,正如预期的那样。

问题是:为什么?

0 投票
2 回答
1720 浏览

java - 在 Java 中使用 indexOf() 查找对象数组列表的索引值

该方法扫描当前的员工Employee数组,看是否有任何员工与传入的Employee匹配。

如果没有匹配则返回 -1,如果匹配则返回 Employee 的索引号。

现在我的问题是,我该如何使用 -

指数();

方法正确获取对象的索引值,进而获取empId与传入的员工匹配的员工

我对任何其他比较方式持开放态度,因为我知道indexOf()可以为我搜索并找到empId。因此,如果我必须一起取消if 语句,我不介意。我认为这将使代码更有效。

0 投票
1 回答
191 浏览

xml - 比较对象,在输出中包含 Computername 但不要使用它

我希望 powershell 比较一些包含服务、状态和计算机名的 XML 文件。这包括输出中的所有这些,但仅使用名称和状态进行比较。想法是得到这样的输出:

Name Status SideIndicator PSComputername ---- ------ ------------- -------------- Appinfo Running <=
Appinfo Stopped =>
AudioEndpointBuilder Stopped =>
AudioEndpointBuilder Running <=

如您所见,该表看起来不错,但不包括计算机名...有人有想法可以帮忙吗?这就是代码的样子。

0 投票
1 回答
218 浏览

powershell - Powershell - 将对象写入文件

当我想按行对两个文本文件进行完整比较时,我会得到正确的结果:

但之后我遇到了严重的问题,只需将这些内容写入文件即可。

当我使用:

  1. Out-File,它会中断,我不希望每行末尾有很多空格

  2. Export-CSV,它"在开头和结尾的每一行都添加了一个

  3. Set-Content,它添加了我"@{InputObject="}每一行

如何在没有这些限制的情况下导出数据?

问候,

亚历克斯

0 投票
1 回答
7211 浏览

string - 使用 PowerShell 查找字符串中的差异

所以我在玩比较对象,它可以很好地比较文件。但是只有字符串呢?有没有办法找到字符串之间的区别?CompareTo() 可以很好地报告存在差异,但不能报告差异是什么。例如:

什么都没有回来。

有什么方法可以让我知道字符串之间的实际区别,而不仅仅是有区别吗?

0 投票
1 回答
269 浏览

powershell - 比较两个以上的字符串

这是我想要实现的目标......

我必须在 VMWARE 中查看 ADAM db 才能查看复制时间。我的问题是如何使用 compare-object 命令比较两个以上的字符串。我找不到任何关于两个以上价值观的文章。

这是我开始写的。我正在努力使它尽可能动态...

先谢谢了!!!

0 投票
2 回答
10247 浏览

powershell - 仅比较对象左侧或右侧

快速提问

有没有更好(即更有效/更简洁)的方法来做到这一点?

细节

Compare-Object提供参数-excludeDifferent-includeEqual允许您修改获得的结果。

  • 使用两者都会给你一个内部连接
  • 使用只是-includeEqual给你一个完整的外连接
  • 使用just-excludeDifferent是没有意义的;因为默认情况下相等的项目被排除在外,所以它现在将排除所有内容。

或类似选项没有选项-includeLeft-excludeLeft

目前要做一个左侧为空的左外连接(即参考对象中不在差异对象中的项目),我需要按照上面的代码手动过滤结果。

我错过了什么/有更好的方法吗?

http://ss64.com/ps/compare-object.html

0 投票
0 回答
1735 浏览

powershell - Powershell 比较对象并将差异放入文件中

我对 PS 真的很陌生,并且一直在努力解决一个特定的问题。我试图了解 AD 中的内容和 SCOM 已经监控的内容之间的差异。基于此,我将运行发现或推送查找某些服务以及端口是否打开。

我已经能够使用 Get-SCOMAgent 和 Get-ADComputer 构建两个文件进行比较,它就像一个冠军。我的问题是比较对象在获取一个文件中而不是另一个文件中存在的内容方面有些限制。所以我想我会遍历并看看我能找到什么。

更新:我现在正在尝试,但没有得到任何输出:

实际上,所有这些都需要像一个 sdiff 或一个 grep 一样,我可以将其导出到一个文件,我可以使用该文件使用 SCOM PS API 进行发现。我知道在 win 操作系统中处理字符串的方式存在差异,但没有连接点。

任何帮助是极大的赞赏。

#

由于某种原因,比较不起作用。似乎是服务器名称后空格数量的差异。这会导致结果不准确,因为服务器实际上位于这两个地方,但比较使它们看起来很独特。

两个文本文件都有类似 server1.somedomain.com 的内容(最后一个字符后的空格)

我知道我需要去掉空格并尝试过 .Trimend 但是当我在记事本中查看文件时仍然有空格。我需要一个 CRLF,但仅此而已。

foreach ($SERVERSINAD 中的 $line) { $SERVERSINAD = $line.TrimEnd(); $line += "$line`n" $SERVERSINAD >FormattedFile }