微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何捕获文件复制/移动事件的细节,如源文件名

只是想写一个应用程序来跟踪磁盘中的文件间的关系。

我们知道FileSystemWatcher可以在创build,重命名删除文件时触发evetns。

但是FileSystemWatcher不能告诉我们源文件的path。

例如,假设folder1有一个文件F1 ,然后我们将F1复制到另一个名为folder2的文件夹中,新的文件名仍然是F1 。 在这种情况下, FileSystemWatcher可以告诉我们在folder2已经创build了一个新的文件。 但是它不能告诉我们新的F1是从folder1的F1复制的,而这个信息是我们需要的。

如何在Windows CE设备上安装.Net Compact Framework

无法调用SystemParametersInfo

WindowProc在c#中的窗体

快速获取组员资格

当应用程序是服务时,SetWinEventHookcallback不起作用

有什么想法吗?

以编程方式创buildWindows用户c#.net(使用PricinpalUser / CreateProfile)

win10的wpf窗口定位错误

Windows性能计数器从PerfMon中消失

循环是否以相同的速度发生在所有系统上?

如何为商业Windows应用程序创buildtesting环境?

这是因为就文件系统而言,没有“复制文件”这样的操作。

运行文件复制命令时,它实际上会打开旧文件,创建新文件,将内容读入内存,写入新文件,然后关闭这两个文件。 所有的文件系统看到的都是写入; 有没有污点跟踪系统确定数据实际上来自另一个文件没有修改

最后一步,即将文件复制与写入数据区分开来,通常是将目标的元数据更改为与源文件匹配。 但是同样,文件系统不知道你为什么要改变属性,或者你将两个文件匹配到哪个文件

文件系统只具有链接和取消链接的特殊意识。 所以移动,其中包括“创建第二个链接内容;删除一个链接”是可检测的。 如果复制被实现为“创建标记为写入时拷贝的新链接”,那么你可以发现它,但是写时复制不是一个非常流行的文件系统功能

事情是:你不会有一个复制事件为文件夹“f1”发射。

触发文件夹1的文件是:更新文件,将文件从其他目录复制到“f1”或删除文件

你可以尝试使用“f1”中的两个文件..同时你复制文件到“f2”你可以更新第二个文件,从而触发更新事件处理程序……….

希望这可以帮助….

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐