繁体   English   中英

如何等待直到包含文件的目录在C#中被递归删除

[英]How to wait until directories having files get deleted recursively in C#

我要删除几个包含很多文件的文件夹。 然后,我再次创建这些文件夹。 现在的问题是,有时目录删除需要花费一些时间。

但是在创建目录之前,请检查目录是否存在。 因此,这里出现的问题是它已经存在并且不再创建目录。

if (Directory.Exists(path))
            {

                Directory.Delete(path, true);
            }
 if (!Directory.Exists(path))
            {

                dir = Directory.CreateDirectory(path);
                dir.Attributes = FileAttributes.Directory | FileAttributes.Hidden;
            }

我会使用文件监视程序。 看到这里:[ https://www.infoworld.com/article/3185447/how-to-work-with-filesystemwatcher-in-c.html]

他们文章中但针对您的问题进行了修改的代码是:

using System;
using System.IO;

namespace FileWatcherExample
{
    class Program
    {
        static void Main(string[] args)
        {
            string path = @"c:\example";
            MonitorDirectory(path);
            Console.ReadKey();
        }

        private static void MonitorDirectory(string path)
        {
            FileSystemWatcher fileSystemWatcher = new FileSystemWatcher();
            fileSystemWatcher.Path = path;
            fileSystemWatcher.Deleted += (o,s) => Console.WriteLine("File deleted: {0}", e.Name);
            fileSystemWatcher.EnableRaisingEvents = true;
        }
    }
}

文件观察器允许创建,修改和删除事件,使您可以永久获取对文件夹或文件所做更改的实时更新。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM