0

最初のディレクトリにFileSystemWatcherファイルを作成すると、2番目のディレクトリにも移動する必要があります。したがって、ファイルが2番目のディレクトリに既に存在する場合は、ファイルを上書きしたいと思います。うまくいきません。私はこれを得た:

 private void fileSystemWatcher1_Created(object sender, System.IO.FileSystemEventArgs e)
    {

            listBox1.Items.Add("File created> " + e.FullPath + " -Date:" + DateTime.Now);
            if (File.Exists(target+e.Name))
            {
                File.Delete(target+e.Name);
            }
            File.Copy(e.FullPath, Path.Combine(target, e.Name));
    }

そして、別の問題があります。ファイルが作成されたときは表示されますが、名前が変更、削除、変更されたときは表示されません。これが私のコードです。

private void fileSystemWatcher1_Changed(object sender, System.IO.FileSystemEventArgs e)
    {
        if (!pause)
        {
            listBox1.Items.Add("File changed> " + e.FullPath + " -Date:" + DateTime.Now);
        }

    }

    private void fileSystemWatcher1_Created(object sender, System.IO.FileSystemEventArgs e)
    {

            listBox1.Items.Add("File created> " + e.FullPath + " -Date:" + DateTime.Now);
            if (File.Exists(target+e.Name))
            {
                File.Delete(target+e.Name);
            }
            File.Copy(e.FullPath, Path.Combine(target, e.Name));
    }

    private void fileSystemWatcher1_Deleted(object sender, System.IO.FileSystemEventArgs e)
    {
        if (!pause)
        {
            listBox1.Items.Add("File deleted> " + e.FullPath + " -Date:" + DateTime.Now);
            File.Delete(target+e.Name);
        }
    }

    private void fileSystemWatcher1_Renamed(object sender, System.IO.RenamedEventArgs e)
    {
        if (!pause)
        {
            listBox1.Items.Add("File renamed> " + e.FullPath + " -Date:" + DateTime.Now);
        }
    }
        private void Start_Click(object sender, EventArgs e)
    {
        fileSystemWatcher1.Path = source;
        if (!pause)
        {
            pause = true;
            Start.Text = "Pause";
            fileSystemWatcher1.EnableRaisingEvents = true;   
        }
        else
        {
            pause = false;
            Start.Text = "Start";
            fileSystemWatcher1.EnableRaisingEvents = false;

        }

    }
4

1 に答える 1

0

if(!pause){

削除する必要がある問題を引き起こしています。

于 2013-06-20T11:42:25.963 に答える