簡體   English   中英

FileSystemWatcher File.Copy

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM