找出何时将文件添加到文件夹

时间:2012-02-07 14:42:02

标签: c# file directory

我想知道是否有可能找出何时将文件添加到C#中的文件夹中。我知道你可以在FileInfo中看到创建时间和许多其他内容,但是当它被添加时就可以了。

4 个答案:

答案 0 :(得分:14)

您可以使用System.IO.FileSystemWatcher。它提供了完成您想要做的事情的方法:

FileSystemWatcher watcher = new FileSystemWatcher()
{
    Path = stringWithYourPath,
    Filter = "*.txt"
};
// Add event handlers for all events you want to handle
watcher.Created += new FileSystemEventHandler(OnChanged);
// Activate the watcher
watcher.EnableRaisingEvents = true

OnChanged是一个事件处理程序:

private static void OnChanged(object source, FileSystemEventArgs e)
{
    Console.WriteLine($"File: {e.FullPath} {e.ChangeType}");
}

答案 1 :(得分:7)

查看FileSystemWatcher类 - http://msdn.microsoft.com/en-us/library/system.io.filesystemwatcher.aspx

您可以在页面底部找到完整的示例。

答案 2 :(得分:3)

  

FileSystemWatcher 是一个非常强大的组件,它允许我们使用   连接到目录并观察其中的特定更改,   例如创建新文件,添加子目录和重命名   文件或子目录。这使得可以容易地检测到   何时创建,修改或删除某些文件或目录。它   是System.IO名称空间的成员之一。

Full Tutorial Here

它有事件,他们是

  • 创建 - 在创建目录或文件时引发。
  • 已删除 - 每当删除目录或文件时都会引发。
  • 重命名 - 每当更改目录或文件的名称时引发。
  • 已更改 - 每当对目录或文件的大小,系统属性,上次写入时间,上次访问时间或NTFS安全权限进行更改时,都会引发此更改。

答案 3 :(得分:0)

对于"快照"解决方案可以使用此库https://github.com/igorcrevar/Directory-Snapshot-Difference-Csharp

相关问题