问题标签 [file-monitoring]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
222 浏览

c# - FileWatcher 是如何工作的?

有谁知道详细和深入地解释 FileWatcher 组件的工作原理?当它接收事件时?信号变化是通过哪些渠道传播的?谁发出了这个信号?在 FileWatcher 中注册信号更改?组件是否使操作系统挂钩?

0 投票
1 回答
47 浏览

windows - 什么文件访问唤醒了 Windows 中的睡眠磁盘?

时不时地,我的睡眠磁盘会醒来,执行听起来像是单次读取的操作,然后处于空闲状态,直到它再次进入睡眠状态。有时我正在使用的程序在磁盘旋转时完全冻结大约 10 秒钟,即使该程序似乎不需要从该驱动器读取。

是否有用于在文件访问发生时侦听文件访问或类似情况的 api,以便我可以弄清楚从该驱动器读取的内容,以便我可以移动它?如果不在 Windows 上,我可以在 Linux 上执行此操作吗?

这也适用于确定程序通常访问的文件/文件夹,所以我不会说它只适用于我非常狭窄的问题。

0 投票
1 回答
5611 浏览

c# - 使用 .NET Core 2.0 监控 Windows 上的文件更改

在您向我发送指向此处的链接之前,耐心等待

我想编写一个监视给定文件集更改的服务,我从最简单的事情开始编写监视目录的控制台应用程序,以便继续我的 POC。但是,我在试图提取所做的实际更改时遇到了困难。(是的,我设法处理了FileSystemWatcher类中的事件,但就我看到类的 API 而言,我无法跟踪实际的变化)

你知道是否有办法这样做吗?也许没有那么多痛苦或不必要的手术。

我目前使用的是 .NET Core 2.0,但任何版本的 .NET Core 都可以。

编辑:我需要监控的文件是基于文本的,基本上我想实现git diff功能并报告更改。

0 投票
0 回答
1112 浏览

powershell - PowerShell FileSystemWatcher 更改事件重复

到目前为止,这是 PowerShell 脚本:

它可以很好地监视指定的文件夹,但会在文件更改时生成两个条目。

有没有办法合并或只返回一个事件?

当我编辑文件并保存它时,它会输出两次更改的文件。已更改:c:\ftptest\Test1.txt 已更改:c:\ftptest\Test1.txt

好的,我已将代码更改为似乎有帮助的代码-如果您愿意的话,这是一种触发器...

0 投票
1 回答
22 浏览

excel - 避免覆盖到单元格中

我创建了此代码来监视文件夹,以防发生创建和删除事件。但是,我创建的代码总是覆盖同一个单元格,而我想跟踪更改。因此,我希望在 A 列中列出所有创建事件,在 B 列中列出删除事件。有人可以帮助我吗?

0 投票
1 回答
935 浏览

spring - Spring 集成元数据存储

作为 Spring Integration 的新手,我一直在努力寻找一种“读取文件”并将该特定文件标记为已的方法,以避免另一个并发应用程序读取同一文件(防止重复)。

Spring 集成提供元数据存储。如何使用 JDBC-Metadata-Store 实现此解决方案?是否有任何示例或教程可以实现这一目标?

0 投票
0 回答
43 浏览

.net - C# 或 VbNet 中的文件监视器

使用 dotnet 有没有办法处理文件系统活动?我需要做一个捕获文件访问的软件(比如 Sysinternals 的 Process Monitor)。我不能使用 FileSystemWatcher,因为在网络共享的情况下,它也会记录其他用户的事件。我只需要记录当前系统的活动。有人有解决方案或知道它是如何工作的 Sysinternals Process Monitor?

0 投票
2 回答
1259 浏览

perl - 使用 perl 检查文件内容是否更改的最佳方法?

在我的脚本执行之前会生成一个动态文件。

在这里我想检查:

我正在寻找如下解决方案:

  • if ( if_modified( $file );

    --> 但是我们需要一个初始化文件并与最新的文件进行比较,而这里我们一次只有一个文件。

  • $monitor->watch($file); 它能够完成我的任务吗?

  • 我想不需要使用校验和,因为在那之后我还需要查看校验和结果是否改变。

0 投票
2 回答
419 浏览

c# - 如何在 C# 中记录低级 OS 文件事务?

由于文件/进程监视器在记录时在过滤和不必要的重复方面不足,我想重新创建该程序的功能并实时记录所有 Windows 文件操作。

我想记录各种属性,例如时间、进程名称、源路径、目标路径、操作、结果和细节,就像Process Monitor 一样

如何让 C# 从操作系统中提取此信息?


编辑:正如 zett42 指出的那样FileSystemWatcher,例如,从进程本身创建的文件事件不会被拦截。例如,这些事务都没有显示,即使我添加了事件:、、、Changed和,Created并将标志设置为 true 。RenamedDeletedFileSystemWatcherEnableRaisingEvents


编辑 2:使用 SimonMourier 对 Microsoft.Diagnostics.Tracing.TraceEvent nuget 包的建议,我设法敲出下面的代码。

这部分被放入一个后台工作者中:

然后创建的 FileIOWrite 事件在调用时(自动)运行以下内容:

不幸的是,FileIOReadWriteTraceData.FileName没有拾取 Procmon 拾取的东西,例如(例如),非常常见的 Chrome 内容,例如写入C:\Users\Dan\AppData\Local\Google\Chrome\User Data\Default\Cookies-journalC:\Users\Dan\AppData\Local\Google\Chrome\User Data\Default\Current Session

0 投票
2 回答
1111 浏览

c# - C# 监控文件活动

我需要监视文件的更改并查看它的确切修改位置。

似乎我不能使用 FileSystemWatcher,因为我只收到文件已被修改的通知,但我无法确切知道发生了什么变化,并且在引发事件后存储文件的副本以进行差异是不可行的,因为文件真的很大。

我想在他们的 Process Monitor 软件上实现类似 SysInternals 的东西,它告诉我们,对于 WriteFile 事件,文件的修改部分给定了偏移量和长度。

我读到有一个 Windows API 可以做到这一点,但我找不到任何关于如何或从哪里开始在 .net 3.5 应用程序上实现它的信息。