如何将更多目录添加到我的文件删除程序

  • 本文关键字:文件 删除程序 添加 c#
  • 更新时间 :
  • 英文 :


我正在尝试使用它来删除我拥有的几个目录中的某些.htm文件。到目前为止,它仅适用于一个文件夹,但我无法找到将多个文件夹添加到代码中的方法。有什么方法可以将更多目录添加到目录路径中,这样我就不必在每次希望它删除另一个目录中的文件时都不断更改代码?

namespace ConsoleApplication
{
    class Deleter
    {
        static void Main(string[] args)
        {
            string directorypath = @"C:Public";
            string[] directories = System.IO.Directory.GetDirectories(directorypath);
            DeleteDirectories(directories);
        }
        private static void DeleteDirectories(string[] directories)
        {
            foreach (string directory in directories)
            {
                string[] files = System.IO.Directory.GetFiles(directory, "*.htm");
                DeleteFiles(files);
                directories = System.IO.Directory.GetDirectories(directory);
                DeleteDirectories(directories);
            }
        }
        private static void DeleteFiles(string[] files)
        {
            foreach (string file in files)
            {
                FileInfo f = new FileInfo(file);
                if (f.CreationTime < DateTime.Now)
                    f.Delete();
            }
        }
    }
}

与其将可枚举(目录)设置为子目录并希望以这种方式递归,不如创建一个名为subDirectory的新引用。所以你的foreach循环将看起来像这样:

...
foreach(var directory in directories)
{
 string[] files = System.IO.Directory.GetFiles(directory, "*.htm");
 DeleteFiles(files);
 var subDirectories = System.IO.Directory.GetDirectories(directory); 
 DeleteDirectories(directories);
{
....

最新更新