gpt4 book ai didi

c# - 如何确定目录/文件夹是否已更改

转载 作者:行者123 更新时间:2023-12-04 12:04:01 26 4
gpt4 key购买 nike

我有一个具有以下结构的文件夹

Parent/
Child1/
GrandChild1/
File1.txt

我需要查询父文件夹并找出 Child1 是否已更改。

已更改 = 添加/更新/删除了新文件。

Child1 文件夹 DateModified 未更新。发生更改时,仅更新 GrandChild1 修改日期。我试图避免进入文件级别来确定 rootparent 是否已更改。因为会有很多文件夹和子文件夹。我只需要知道 Child1 是否已更改。

我不想使用 FileSystemWatcher,因为我将此作为计划作业运行,而不是实时观看。

最佳答案

用户文件系统观察者。请记住启用引发事件,因为这是一个常见错误(watchfolder.EnableRaisingEvents = true;)。

从性能角度来看,FileSystemWatcher 可能被证明不是最佳的。如果这对您来说是个问题,您可以实现 CRC检查计时器以检查您感兴趣的文件和文件夹的更改。

本质上,我要做的是generate a CRC32 hash对于我正在观看的整个文件夹(并将其保存到变量 A 中),当我决定是时候检查更改时,您只需计算同一文件夹的新 CRC32 哈希(到变量 B 中)。然后将 A 与 B 进行比较,如果它们不匹配,则说明发生了一些变化。真的没有那么难。

引用:

  • http://www.codeproject.com/Articles/26528/C-Application-to-Watch-a-File-or-Directory-using-F
  • http://social.msdn.microsoft.com/Forums/zh/netfxbcl/thread/b7612249-eb32-4005-9d6b-7f291c218326
  • http://damieng.com/blog/2006/08/08/calculating_crc32_in_c_and_net
  • http://marknelson.us/1992/05/01/file-verification-using-crc-2/
  • 关于c# - 如何确定目录/文件夹是否已更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12841427/

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