• C#,根据路径获取某个数字开头的所有文件夹,并获取最新文件夹进行替换文件


    项目需求获取某路径下为1开头文件夹,并替换最新文件夹内容,话不多说,上代码

     

     

     

    复制代码
     private void Form1_Load(object sender, EventArgs e)
            {
                try
                {
                string str1 = Properties.Settings.Default.path;//此路径例如:D:\测试\DLL\xxx.dll
                this.textBox1.Text = str1;string str3 = Properties.Settings.Default.ReplacePath2;//此路径例如为:D:\测试\jiu2
                string result = PathNew(str3);
                CopyToFile(this.textBox1.Text, result);
                }
                catch (Exception ex)
                {
                    LogWrite.AddLog(ex.Message);
                }
            }
       /// 
            /// 拷贝文件到另一个文件夹下
            /// 
            /// 源文件路径(指定到替换dll的名称)
            /// 需替换的文件路径(指定到目标文件夹路径)
            public void CopyToFile(string sourceName, string ces)
            {
                try
                {
                    LogWrite.AddLog("CopyToFile入参:"+ sourceName+"|"+ ces);
                   
                    //当前文件如果不用新的文件名,那么就用原文件文件名
                    string fileName = Path.GetFileName(sourceName);
                    //这里可以给文件换个新名字,如下:
                    //string fileName = string.Format("{0}.{1}", "newFileText", "txt");
    
                    //目标整体路径
                    string targetPath2 = Path.Combine(ces, fileName);
                    //Copy到新文件下
                    FileInfo file = new FileInfo(sourceName);
                    if (file.Exists)
                    {
                        //true 为覆盖已存在的同名文件,false 为不覆盖
                        file.CopyTo(targetPath2, true);
                        LogWrite.AddLog("CopyToFile替换成功");
                    }
                }
                catch (Exception ex)
                {
                    LogWrite.AddLog("CopyToFile异常错误" + ex.Message);
                }
            }

    ///


    /// 根据指定路径获取最新文件夹路径
    ///

    ///
    ///
    public string PathNew(string path)
    {
    string result = string.Empty;

    
    

    try
    {
    DirectoryInfo directoryInfo = new DirectoryInfo(path);
    DirectoryInfo[] directoryInfos = directoryInfo.GetDirectories();//根据指定路径获取所有文件夹
    string[] dirs2 = Directory.GetDirectories(path, "1*");//获取1开头的文件夹
    List list_Subject = new List();
    for (int i = 0; i < dirs2.Length; i++)
    {
    SubjectEdit listset = null;//初始化类
    listset = new SubjectEdit();//实例化类,给其信息
    listset.ProjTmName = dirs2[i];
    listset.time = Directory.GetCreationTime(dirs2[i]);
    list_Subject.Add(listset);

    
    

    }
    var listTmp = list_Subject.OrderByDescending(o => o.time).ToList();//降序
    //SortAsFolderCreationTime(ref directoryInfos);
    result = listTmp[0].ProjTmName;
    //result = directoryInfos[0].Name;
    LogWrite.AddLog("PathNew最新文件夹名为" + result);
    }
    catch (Exception ex)
    {
    LogWrite.AddLog("PathNew异常错误" + ex.Message);
    //MessageBox.Show(ex.Message);
    }
    return result;
    }
    public class SubjectEdit
    {
    ///


    /// ID
    ///

    public int ProjTmId { get; set; }
    public DateTime time { get; set; }

    
    

    ///


    /// 名称
    ///

    public string ProjTmName { get; set; }

    
    

    }

     
    复制代码

     

  • 相关阅读:
    arm ubuntu 换源
    ​基于AI的脑电信号独立成分的自动标记工具箱
    [机缘参悟-49]:三季人与认知维度
    主成分分析(机器学习)
    2022杭电多校七 F-Sumire(数位DP+实用技巧)
    PHP基础学习第六篇(初识CSS)
    tf serving 从S3 minio 加载模型
    【cpp】快速排序&优化
    spring boot项目生成容器并运行
    css心跳动画
  • 原文地址:https://www.cnblogs.com/lydj/p/16697003.html