gpt4 book ai didi

c# - 将文件夹当前状态与保存的先前状态进行比较 (C#)

转载 作者:太空宇宙 更新时间:2023-11-03 14:32:13 25 4
gpt4 key购买 nike

我想制作一个 winform 应用程序,它会在您打开它时告诉您自上次打开以来所做的所有更改,并且可能会记录它的日志,例如:

  • 文件/文件夹创建
  • 文件/文件夹重命名
  • 文件/文件夹排除

我认为我必须完成四项任务:

  • 将文件夹状态(树)保存在可重新加载的格式
  • 加载此信息
  • 将此信息与当前信息进行比较根据需要收集状态
  • 列出更改、记录并显示它们

我想出了一些主意,你有什么可以帮助我的?

(我比较 08 和 .NET 3.5)

---[编辑]---
重命名应该是不可能的,它可能只是一个排除和创建,因为文件夹在 Windows 中没有唯一的 ID。

---[编辑]---
它的真正目的是学习,如果它有效,我还不如使用它并处理源代码什么的,我很抱歉之前没有提到这个,我对现成的解决方案不感兴趣。
我想看一个网络共享文件夹,其中我已经有一个当前正在使用(我已经制作)的应用程序,它有一个 FileSystemWathcer 每次在任何文件或任何文件夹/子文件夹中发生某些事情时都会在托盘中弹出消息气球.
我想要的是能够在一个单独的应用程序(最初)中比较先前和当前状态,如果成功,则在当前运行的应用程序中实现它。但这与问题无关。

最佳答案

我的建议是将状态序列化为 XML 文件。利用 XML Diff 创建 diffgram 并从生成的 diffgram 中提取信息以供显示。如果您有正确的嵌套结构,diffgram 将进行元素匹配,它会为您节省大量时间,无需编写您自己的文件夹-文件夹比较和递归子文件夹比较。您所需要的只是弄清楚如何消化生成的 diffgram,这通常非常简单。每个元素通常都标有属性,表示它被更改、添加或删除。

关于c# - 将文件夹当前状态与保存的先前状态进行比较 (C#),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2337492/

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