Powershell-比较文件并采取行动

时间:2017-07-06 17:08:19

标签: powershell

我尝试创建一个PowerShell脚本来比较两个不同文本文件中的两个IP地址,然后在它们匹配或不匹配时采取行动。见下文

__global__ void start(const func<T>& s){
                                   ^

如果两个文件匹配,我显然得到==,或者a =&gt;如果他们不匹配。我不确定如何使用==或=&gt;作为一个变量来继续脚本的其余部分。非常感谢任何帮助或建议。

2 个答案:

答案 0 :(得分:0)

您可以为Compare-Object结果分配变量。当我进行快速测试时,如果两个对象匹配,似乎没有返回任何内容。所以你必须检查变量值的$ null。

$a = Compare-Object -ReferenceObject "abc" -DifferenceObject "abc"
if($a -ne $null){continue working here}else{do other action here}

了解更多信息: https://ss64.com/ps/compare-object.html

答案 1 :(得分:0)

一种方法是检查SideIndicator属性的值; e.g:

if ( (Compare-Object (Get-Content test1.txt) (Get-Content test2.txt) -IncludeEqual).SideIndicator -eq '==' ) {
  "The files are equal"
}

Compare-Object如果没有差异则输出任何内容,并且省略-IncludeEqual,因此上述内容也可以写为:

if ( -not (Compare-Object (Get-Content test1.txt) (Get-Content test2.txt)) ) {
  "The files are equal"
}