我正在努力在C#中开发Windows表单应用程序。
我有两个不同的文件夹位置,其中一个由Google文件流(Google Drive软件)更新。
我需要将此Google文件流文件夹克隆到本地D驱动器上的其他文件夹中,并在打开Windows表单时进行更新。
我正在考虑比较这两个文件夹之间的差异,然后将差异从一个文件夹复制到下一个文件夹中。
我不确定该怎么做,任何帮助将不胜感激。
如果您的源文件夹是普通的Windows文件夹(由Google File Stream进行了更新,而不是Google FileStream文件夹),则应该能够使用" Filesystemwatcher"类。此类观看一个文件夹以进行指定的更改,并在发生事件发生时(然后您的应用程序可以处理)。
。这是我需要做类似的事情(观看更改文件夹)时使用的文章
以防文章离线,这是直接从中提出的摘要:
以下代码段显示了monitordirectory方法的方式 看起来像。此方法将用于监视特定目录 并在发生变化时提高事件。目录路径是 作为参数传递给该方法。
private static void MonitorDirectory(string path)
{
FileSystemWatcher fileSystemWatcher = new FileSystemWatcher();
fileSystemWatcher.Path = path;
fileSystemWatcher.Created += FileSystemWatcher_Created;
fileSystemWatcher.Renamed += FileSystemWatcher_Renamed;
fileSystemWatcher.Deleted += FileSystemWatcher_Deleted;
fileSystemWatcher.EnableRaisingEvents = true;
}
您需要替换自己的活动处理程序(或用上面的名称实现)。
要获得额外的奖励,您也可以将Filesystemwatcher的过滤属性用于目标特定文件类型。
Microsoft Docs上的完整文档