首页 > 其他分享 >转移文件夹及其里面所有内容

转移文件夹及其里面所有内容

时间:2024-06-01 15:44:56浏览次数:18  
标签:里面 string destinationGraphicsPath targetFile 文件夹 Directory Path 转移

 

 /// <summary>
 /// 移动图片文件夹,从原来的wwwroot/graphics文件夹转移到Picture文件夹
 ///转移完毕删除原来的graphics文件夹
 /// </summary>
 public void MoveGraphicsFolder()
 {
     try
     {
         // 定义源文件夹路径
         string sourcePath = Path.Combine("wwwroot", "graphics");
         // 定义目标文件夹路径
         string targetPath = "Picture";

         // 如果目标文件夹已存在,则删除它
         string destinationGraphicsPath = Path.Combine(targetPath, "graphics");
         if (!Directory.Exists(destinationGraphicsPath))
         {
             Directory.CreateDirectory(destinationGraphicsPath);
         }

         // 确保目标目录存在,如果不存在则创建
         if (!Directory.Exists(targetPath))
         {
             Directory.CreateDirectory(targetPath);
         }

         // 获取源目录和目标目录中的所有文件
         string[] sourceFiles = Directory.GetFiles(sourcePath, "*", SearchOption.AllDirectories);
         string[] targetFiles = Directory.GetFiles(destinationGraphicsPath, "*", SearchOption.AllDirectories);



         // 创建目标目录中不存在的目录
         foreach (string sourceFile in sourceFiles)
         {
             string relativePath = Path.GetRelativePath(sourcePath, sourceFile);
             string targetFile = Path.Combine(destinationGraphicsPath, relativePath);

             string targetDirectory = Path.GetDirectoryName(targetFile)!;
             if (!Directory.Exists(targetDirectory))
             {
                 Directory.CreateDirectory(targetDirectory);
             }
         }

         // 处理每一个文件
         foreach (string sourceFile in sourceFiles)
         {
             string relativePath = Path.GetRelativePath(sourcePath, sourceFile);
             string targetFile = Path.Combine(destinationGraphicsPath, relativePath);

             // 如果目标目录中已存在相同路径的文件,则进行覆盖
             if (Array.Exists(targetFiles, f => string.Equals(f, targetFile, StringComparison.OrdinalIgnoreCase)))
             {
                 File.Copy(sourceFile, targetFile, true);
             }
             // 如果目标目录中不存在相同路径的文件,则进行复制
             else
             {
                 File.Move(sourceFile, targetFile);
             }
         }

         // 删除源目录
         Directory.Delete(sourcePath, true);
     }
     catch (Exception)
     {
         throw;
     }
 }

  

 

标签:里面,string,destinationGraphicsPath,targetFile,文件夹,Directory,Path,转移
From: https://www.cnblogs.com/ZkbFighting/p/18226027

相关文章

  • PowerShell实现定时备份并清理文件夹数据
    脚本backup.ps1#设置执行策略以允许脚本运行Set-ExecutionPolicyBypass-ScopeProcess-ForceWrite-Host"正在备份文件,请勿关闭...."#设置源目录和目标备份目录#备份源文件路径$SOURCE_DIR="D:\data\app\images"#备份目标路径$BACKUP_DIR="D:\data\backup"$......
  • 转 Win10 共享文件夹、打印机。 使用微软账户登录共享文件夹,如何确认账号密码。
    目的是通过该方法实现了局域网内 共享目录给电视盒子,放在电视盒子使用。感谢不爱吃山楂大佬https://zhuanlan.zhihu.com/p/446872571   Win10共享文件夹、打印机。使用微软账户登录共享文件夹,如何确认账号密码。......
  • springboot 获取静态资源文件夹
    @ComponentpublicclassStaticResourcePathResolver{privatefinalServletContextservletContext;@AutowiredpublicStaticResourcePathResolver(ServletContextservletContext){this.servletContext=servletContext;}publicS......
  • JavaScript执行(四):try里面放return,finally还会执行吗?
    在前面几篇文章中,我们已经了解了关于执行上下文、作用域、闭包之间的关系。今天,我们则要说一说更为细节的部分:语句。语句是任何编程语言的基础结构,与JavaScript对象一样,JavaScript语句同样具有“看起来很像其它语言,但是其实一点都不一样”的特点。我们比较常见的语句包括......
  • nodejs判断文件、文件夹是否存在,不存在则创建
    方法解释ensureFileExistence(filePath):接受一个文件路径作为参数。使用path.dirname(filePath)获取文件目录路径。使用fs.existsSync和fs.mkdirSync确保目录存在。使用fs.existsSync和fs.writeFileSync确保文件存在。使用示例可以调用ensureFileExistenc......
  • 免费数据恢复软件,可在Windows 11 / 10中恢复已删除的文件和文件夹
    是否要恢复或还原已删除的文件,文件夹和数据,甚至已从回收站中删除?那么您需要的是良好的数据恢复软件。我们已经看了一些可以帮助您从CDDVD恢复数据的免费软件-现在是一些适用于Windows的免费软件,它们可以帮助您找回意外删除的丢失文件。适用于Windows11/10的免费数据恢......
  • 读取文件夹文件
    publicfunctiongetFolderData($dir){$data=array();//打开目录并读取其中的文件/文件夹$handle=opendir($dir);while(false!==($file=readdir($handle))){if($file!="."&&$file!=".."){......
  • linux挂载windows共享文件夹
    最近接到个需求,需要搭建图片文件服务器给后端程序读取目录和操作图片这个需求分为几个步骤:1.扩展windwos虚拟机磁盘空间考虑到图片操作的便利性,这里选用windows系统做图片服务器,但是由于图片比较大,原有windows主机磁盘不够,所以第一步就是扩展windows虚拟机磁盘空间2.在windows......
  • Windows 系统下使用 XCOPY 复制 文件夹
    Windows系统下使用XCOPY复制文件夹@echooffxcopy/E/C/I/F/G/H/R/K/O/X/Y/B\\192.168.88.84\c$\dataE:\datapause1:这里的/E/H/K/O/X/B代表完整复制(包括空文件夹、隐藏文件、文件属性、文件所有权和ACL信息、审核设置、也复制链接目标)2:这里的/C/I/G/R......
  • DeerOJ的前端框架介绍-model文件夹
    model文件夹model文件夹下存储的是一些相关类的php文件,在HTML文件生成的时候,利用这些类能够高效地辅助文件与文件之间的调度转换。文件夹下的内容如下:这里列举一些重要的类文件:Route.php文件前文中在实现route.php的路由调度过程中有出现使用类Route的情况,实际上就是调用这......