如何检查两个“web.config”文件之间的区别

时间:2010-02-01 07:06:19

标签: powershell

我想检查两个“web.config”文件之间的区别。 Powershell怎么可能呢?

3 个答案:

答案 0 :(得分:1)

您可以按如下方式使用Compare-Object:

clear-host
$strFile1 = get-Content "C:\config_files_1\web.config"
$strFile2 = get-Content "C:\config_files_2\web.config"
Compare-Object $strFile1 $strFile2

有关详细信息,您可能有兴趣查看以下文章:

答案 1 :(得分:1)

如果您想进行语义比较,请查看: https://github.com/CameronWills/FatAntelope 此工具将比较web.config文件并从差异生成web.config转换。它可以从命令行运行。

免责声明:我写了它。

答案 2 :(得分:0)

此PowerShell脚本告诉您一个或另一个缺少哪些应用程序设置键,也许您可​​以根据需要进行调整?

[xml]$file1 = Get-Content "C:\web.config1"
[xml]$file2 = Get-Content "C:\web.config2"
Compare-Object ($file1.SelectNodes("//add[@key]") | Select-Object -ExpandProperty Key) ($file2.SelectNodes("//add[@key]")  | Select-Object -ExpandProperty Key)