我正在尝试使用FileSystemWatcher - 并且有一些进展。
目标是将创建的文件从受监视的文件夹移动到一个新文件夹。
但是...遇到了两个问题。首先,如果我一次将3个文件移动到一个文件夹中(选择3个文件,按下ctrl+x,然后按下ctrl+c到我的Monitor文件夹),监视器只会触发第一个文件。其他两个不会被处理。
目标是将创建的文件从受监视的文件夹移动到一个新文件夹。
但是...遇到了两个问题。首先,如果我一次将3个文件移动到一个文件夹中(选择3个文件,按下ctrl+x,然后按下ctrl+c到我的Monitor文件夹),监视器只会触发第一个文件。其他两个不会被处理。
FileSystemWatcher fsw = new FileSystemWatcher(FolderToMonitor);
fsw.Created += new FileSystemEventHandler(fsw_Created);
bool monitor = true;
while (monitor)
{
fsw.WaitForChanged(WatcherChangeTypes.All, 2000);
if (Console.KeyAvailable)
{
monitor = false;
}
}
Show("User has quit the process...", ConsoleColor.Yellow);
Console.ReadKey();
有没有办法让它看到所有3个文件夹?
其次,如果我将文件从另一个驱动器移动到监视文件夹中,需要几秒钟的时间将文件复制到文件夹中。然而,监视器在文件开始复制时就会触发..因此,它是只读的,还没有准备好被移动。
有没有办法在处理文件之前等待文件完成复制到监视文件夹中?