C#创建按时间命名的文件夹以及子文件夹和文件,以及删除创建多久之前的文件夹或文件

using System.IO;//添加引用

//==============创建文件夹或文件===============

string timenow = DateTime.Today.ToString("yyyy_MM_dd");//当前日期

string Writetxt_path = Environment.CurrentDirectory + "\\Writetxt_**\\";//获取路径

if (!Directory.Exists(Writetxt_path))//判断是否已拥有以Writetxt_**命名的文件夹

{

    Directory.CreateDirectory(Writetxt_path);//创建文件夹

}

string path = Environment.CurrentDirectory + "\\Writetxt_**\\" + timenow + "\\";

if (!Directory.Exists(path))//判断Writetxt_**文件夹中是否已拥有以timenow命名的文件夹

{

    Directory.CreateDirectory(path);//创建以日期命名的子文件夹

}

path += DateTime.Now.ToString("yyyy_MM_dd_HH") + ".txt";//以每小时命名创建txt

using (FileStream fs = new FileStream(path, FileMode.Append, FileAccess.Write, FileShare.Write))//打开并写入

{

    StreamWriter wr = new StreamWriter(fs, Encoding.UTF8);
    wr.WriteLine("写入txt的内容");
    wr.Flush();
    wr.Close();
    wr.Dispose();

}

//==============删除几天前的创建的文件夹或文件==============

DirectoryInfo direinfo_path = new DirectoryInfo(Writetxt_path);
foreach (DirectoryInfo diinfo in direinfo_path.GetDirectories())//遍历指定文件夹中的文件夹
{
    DateTime dt = diinfo.CreationTime;//文件夹创建时间
    if (dt < DateTime.Now.AddDays(-30))//判断是否为30天前的文件夹
    {
        foreach (FileInfo txtinfo in diinfo.GetFiles())//遍历文件夹的文件
        {
            txtinfo.Attributes = FileAttributes.Normal & FileAttributes.Directory;
            File.Delete(txtinfo.FullName);//删除(删除文件夹必须先把目录下的文件删除
        }
        diinfo.Attributes = diinfo.Attributes & ~(FileAttributes.Archive | FileAttributes.ReadOnly | FileAttributes.Hidden);
        diinfo.Delete();
    }
}

猜你喜欢

转载自blog.csdn.net/a67148775/article/details/80276985