gpt4 book ai didi

xml - 比较两个文件列表及其内容

转载 作者:数据小太阳 更新时间:2023-10-29 02:23:56 29 4
gpt4 key购买 nike

虽然这看起来很简单(而且可能很简单!)但我似乎找不到解决它的方法。

我想做的是按内容比较两个过滤文件列表。这方面的一个例子是,如果两个列表返回说他们在 Stuff\files\morefiles 位置有一个名为 file.config 的项目,那么这将比较这些文件并输出更改的位置和内容。本质上,对 .config 文件进行比较并显示更改的位置。这对于比较两个文件通常很简单(可以使用比较对象等),但是因为它是两个文件列表而不是单个文件,所以我不知所措。

我需要这样做来显示软件升级中配置文件所需的所有更改的列表,因此从软件的一个版本到下一个版本,对配置文件所做的更改是什么。我在 powershell 中这样做是因为能够轻松地与 HG mercurial 交互并由经验不足的用户运行(通过 bat 文件)。

目标是有一个 .txt 文件列出新安装与旧安装或类似文件相比所有更改的文件。

这是我目前所拥有的:

$A = Get-ChildItem -Recurse -path "C:\repos\Dev\Projects\Bat\CurrentVersionRepoCloneTemp" -filter "*.config"

$B = Get-ChildItem -Recurse -path "C:\repos\Dev\Projects\Bat\UpgradeVersionRepoCloneTemp" -filter "*.config"

$C = Compare-Object $A $B -Property ('Name', 'Length') -PassThru | Where-Object {$_.FullName -eq $_.FullName} | ForEach-Object
{
Compare-Object (Get-Content FileA)(Get-Content FileB) #I know this doesn't work
}$C

想法还是解决方案?

最佳答案

你可以做一个checksum of each file并比较...

$md5 = new-object -TypeName System.Security.Cryptography.MD5CryptoServiceProvider
$hash = [System.BitConverter]::ToString($md5.ComputeHash([System.IO.File]::ReadAllBytes($file)))

关于xml - 比较两个文件列表及其内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23810805/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com