分享好友 编程语言首页 频道列表

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

C#教程  2023-02-09 01:080

项目需求获取某路径下为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);
            }
        }
   /// <summary>
        /// 拷贝文件到另一个文件夹下
        /// </summary>
        /// <param name="sourceName">源文件路径(指定到替换dll的名称)</param>
        /// <param name="folderPath">需替换的文件路径(指定到目标文件夹路径)</param>
        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);
            }
        }

/// <summary>
/// 根据指定路径获取最新文件夹路径
/// </summary>
/// <param name="path"></param>
/// <returns></returns>
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<SubjectEdit> list_Subject = new List<SubjectEdit>();
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
{
/// <summary>
/// ID
/// </summary>
public int ProjTmId { get; set; }
public DateTime time { get; set; }


/// <summary>
/// 名称
/// </summary>
public string ProjTmName { get; set; }


}

 

 

查看更多关于【C#教程】的文章

展开全文
相关推荐
反对 0
举报 0
评论 0
图文资讯
热门推荐
优选好物
更多热点专题
更多推荐文章
的键">C#怎么使用struct类型作为泛型Dictionary<TKey,TValue>的键
本文小编为大家详细介绍“C#怎么使用struct类型作为泛型DictionaryTKey,TValue的键”,内容详细,步骤清晰,细节处理妥当,希望这篇“C#怎么使用struct类型作为泛型DictionaryTKey,TValue的键”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学

0评论2023-02-09664

">C# 使用SIMD向量类型加速浮点数组求和运算(1):使用Vector4、Vector<T>
作者: 目录一、缘由二、使用向量类型2.1 基本算法2.2 使用大小固定的向量(如 Vector4)2.2.1 介绍2.2.2 用Vector4编写浮点数组求和函数2.3 使用大小与硬件相关的向量(如 VectorT)2.3.1 介绍2.2.1.1 使用经验2.3.2 用 VectorT 编写浮点数组求和函数三、搭

0评论2023-02-09694

Unity 将是驱动 C# 增长的引擎吗 ?
C# 在中国的采用需要一个杀手级应用的带动, 那么这样的一个杀手级应用是 Unity吗,我这里大胆推测采用CoreCLR 的新一代完全采用C#构建的Unity 将是这样的一个杀手级应用。Unity已被广泛应用于数字孪生、数字城市、数字工厂等场景,成为各产业加速数字化转型

0评论2023-02-09645

更多推荐