[英]FileSystemWatcher File.Copy
我想查看对文件所做更改的目录,并在事件触发时将文件复制到新目的地。 如何调用 File.Copy 方法作为触发操作? 下面是我目前拥有的代码。
static void Main(string[] args)
{
FileSystemWatcher watcher = new FileSystemWatcher(@"F:\IOP\EW\02_Plant\03_Design\01_Models\2210-Sec Crushing");
// Begin watching.
watcher.Filter = "0-EW*.dgn";
watcher.EnableRaisingEvents = true;
watcher.IncludeSubdirectories = true;
watcher.Changed += Watcher_Changed;
watcher.Created += Watcher_Created;
watcher.Deleted += Watcher_Deleted;
watcher.Renamed += Watcher_Renamed;
Console.Read(); // don't forget to stop the program at this line
}
private static void Watcher_Renamed(object sender, RenamedEventArgs e)
{
Console.WriteLine("File: {0} renamed to {1} at time {2}",e.OldName,e.Name,DateTime.Now.ToLocalTime());
}
private static void Watcher_Deleted(object sender, FileSystemEventArgs e)
{
Console.WriteLine("File: {0} deleted at time: {1}", e.Name, DateTime.Now.ToLocalTime());
}
private static void Watcher_Created(object sender, FileSystemEventArgs e)
{
Console.WriteLine("File: {0} created at time: {1}", e.Name, DateTime.Now.ToLocalTime());
}
private static void Watcher_Changed(object sender, FileSystemEventArgs e)
{
Console.WriteLine("File: {0} changed at time: {1}", e.Name, DateTime.Now.ToLocalTime());
}
// Define the event handlers.
private static void OnChanged(object source, FileSystemEventArgs e)
{
//Specify what is done when a file is changed, created, or deleted.
Console.WriteLine($"File: {e.FullPath} {e.ChangeType}");
}
您在触发的事件参数中有路径和文件名:
private static void Watcher_Changed(object sender, FileSystemEventArgs e)
{
File.Copy(e.FullPath, Path.Combine("D:\\Backup", e.Name));
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.