首页 > 其他分享 >移动"历史文件夹"到"新指定的路径"

移动"历史文件夹"到"新指定的路径"

时间:2022-09-18 10:33:30浏览次数:74  
标签:status string newDirPath 路径 指定 文件夹 Directory oldDirPath

一、将A路径下所有文件及文件夹,移动到一个新的路径中,并删除历史文件夹

点击查看代码
/// <summary>
/// 将历史文件夹移动到新路径中
/// </summary>
/// <param name="oldDirPath">历史文件夹路径</param>
/// <param name="newDirPath">新路径</param>
/// <returns>返回信息</returns>
public static string MoveOldDirToNewPath(string oldDirPath, string newDirPath)
{
    string retMsg = "";
    try
    {
        bool status = MoveDirToSpecPath(oldDirPath, newDirPath, out string msg);
        if (status)
        {
            Directory.Delete(oldDirPath);
            retMsg = "已完成文件夹的移动!";
        }
        else
        {
            retMsg = "移动文件夹失败!";
        }
    }
    catch (Exception ex)
    {
        retMsg = $"移动文件夹异常:{ex.ToString()}";
    }
    return retMsg;
}

/// <summary>
/// 移动文件到指定位置
/// </summary>
/// <param name="oldDirPath">历史文件</param>
/// <param name="newDirPath">新位置文件</param>
/// <param name="msg">返回消息</param>
/// <returns>返回状态</returns>
public static bool MoveDirToSpecPath(string oldDirPath, string newDirPath, out string msg)
{
    msg = "";
    bool status = false;
    try
    {
        if (Directory.Exists(oldDirPath))
        {
            if (!Directory.Exists(newDirPath))
            {
                Directory.CreateDirectory(newDirPath);
            }
            //拷贝文件到指定位置
            foreach (string file in Directory.GetFiles(oldDirPath))
            {
                FileInfo fileInfo = new FileInfo(file);
                fileInfo.MoveTo($"{newDirPath}/{fileInfo.Name}");
            }
            //拷贝文件夹到指定位置
            foreach (string dir in Directory.GetDirectories(oldDirPath))
            {
                DirectoryInfo dirInfo = new DirectoryInfo(dir);
                if (MoveDirToSpecPath(dir, $"{newDirPath}/{dirInfo.Name}", out msg) == false)
                {
                    status = false;
                }
            }
            status = true;
        }
    }
    catch (Exception ex)
    {
        status = false;
		msg = $"将历史路径所有文件及文件夹,移动到新路劲过程出现异常:{ex.ToString()}";
    }
    return status;
}

备注:

1.本功能是在Windows10系统下进行测试的
2.使用的是.Net Fromwork4.5~4.8框架

标签:status,string,newDirPath,路径,指定,文件夹,Directory,oldDirPath
From: https://www.cnblogs.com/Boundless-Learn/p/16704331.html

相关文章

  • 在 TypeScript 中指定 event.target 的类型
    在TypeScript中指定event.target的类型让我们解决使用ClassList和dataset等属性时出现的错误!案件由来本文出现的所有错误都是基于eslint产生的错误。我想通过......
  • 如何在基础镜像中安装指定python版本
    背景由于规范要求要使用指定的镜像版本,但是由于该镜像中的python与我使用的版本有差异,怕引起一些不必要的兼容问题,所以我需要自己按基础镜像基础上安装对应版本的python。......
  • Jmeter远程服务模式运行时引用csv文件的路径配置
    问题在使用jmeter过程中,本机的内存等配置不足,启动较多的线程时,可以采用分布式运行。在分布式运行的时候,jmeter会自动将脚本从master主机发送到remote主机上,所以不需要考......
  • 直播带货源码,vue项目添加背景图报路径不存在
    直播带货源码,vue项目添加背景图报路径不存在这是由于图片路径引入方式不对,原代码如下: <style>#header-background{ background:url("../assets/image/beijing.png");......
  • Linux开机自动挂载非系统硬盘到指定用户
    Linux开机自动挂载非系统硬盘到指定用户背景自己在家捣鼓的LinuxMint21,我的分盘是这样子的:原本1T固态,300多G给了Windows,300多G给了Linux,300多G当做数据盘(免得哪个系......
  • 获取url中指定参数的值
    importjava.util.regex.Matcher;importjava.util.regex.Pattern;publicclassurl{publicstaticvoidmain(String[]args){Stringurl="https://blog.csdn.&hybr......
  • 【Leetcode】64. 最小路径和
    题目(链接)给定一个包含非负整数的m x n网格grid,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例1:输入:grid=......
  • R语言中如何判断数据框列或者行全部为指定值
     001、a<-c(0,0,0,0)b<-c(9,-8,-15,54)c<-c(8,2,8,9)d<-c(0,0,0,0)dat<-data.frame(a,b,c,d)##测试数据框datresult<-vect......
  • docker 构建 TensorRT 指定版本 image
    docker构建TensorRT指定版本imagetensorrt——相关库的说明Tensorrt这是github上tensorrt的一个项目库。其介绍为:这个存储库包含了NVIDIATensorRT的开源软件(OSS)......
  • java 使用递归遍历文件夹及子文件夹中文件
    //使用递归遍历文件夹及子文件夹中文件publicvoidfilesDirs(Filefile){//File对象是文件或文件夹的路径,第一层判断路径是否为空if(file!=null......