zoukankan      html  css  js  c++  java
  • 文件夹复制删除 C#

    /// <summary>
      /// 将整个文件夹复制到目标文件夹中。
      /// </summary>
         /// <param name="srcPath">源文件夹</param>
      /// <param name="aimPath">目标文件夹</param>
      public static void CopyDir(string srcPath,string aimPath)
      {
       try
       {
        // 检查目标目录是否以目录分割字符结束如果不是则添加之
        if(aimPath[aimPath.Length-1] != Path.DirectorySeparatorChar)
         aimPath += Path.DirectorySeparatorChar;
        // 判断目标目录是否存在如果不存在则新建之
        if(!Directory.Exists(aimPath))
         Directory.CreateDirectory(aimPath);
        // 得到源目录的文件列表,该里面是包含文件以及目录路径的一个数组
        // 如果你指向copy目标文件下面的文件而不包含目录请使用下面的方法
        // string[] fileList = Directory.GetFiles(srcPath);
        string[] fileList = Directory.GetFileSystemEntries(srcPath);
        // 遍历所有的文件和目录
        foreach(string file in fileList)
        {
         // 先当作目录处理如果存在这个目录就递归Copy该目录下面的文件
         if(Directory.Exists(file))
          CopyDir(file,aimPath+Path.GetFileName(file));
          // 否则直接Copy文件
         else
          File.Copy(file,aimPath+Path.GetFileName(file),true);
        }
       }
       catch
       {
        Console.WriteLine("无法复制!");
       }
      }

      /// <summary>
      /// 将整个文件夹删除。
      /// </summary>
      /// <param name="aimPath">目标文件夹</param>
      public static void DeleteDir(string aimPath)
      {
       try
       {
        // 检查目标目录是否以目录分割字符结束如果不是则添加之
        if(aimPath[aimPath.Length-1] != Path.DirectorySeparatorChar)
         aimPath += Path.DirectorySeparatorChar;
        // 得到源目录的文件列表,该里面是包含文件以及目录路径的一个数组
        // 如果你指向Delete目标文件下面的文件而不包含目录请使用下面的方法
        // string[] fileList = Directory.GetFiles(aimPath);
        string[] fileList = Directory.GetFileSystemEntries(aimPath);
        // 遍历所有的文件和目录
        foreach(string file in fileList)
        {
         // 先当作目录处理如果存在这个目录就递归Delete该目录下面的文件
         if(Directory.Exists(file))
         {
          DeleteDir(aimPath+Path.GetFileName(file));
         }
          // 否则直接Delete文件
         else
         {
          File.Delete (aimPath+Path.GetFileName(file));
         }
        }
        //删除文件夹
        //System.IO .Directory .Delete (aimPath,true);
       }
       catch
       {
        Console.WriteLine("无法删除!");
       }
      }

  • 相关阅读:
    P4049 [JSOI2007]合金
    CF1073C Vasya and Robot
    输出100以内奇数,偶数,质数,合数的脚本
    取/etc/password文件最后一个单词的最后一个字符
    window下进程退出后自动重启
    如何让DOS命令在新窗口打开
    dos命令关闭所有dos窗口
    使用jps查看JVM进程信息
    windows .bat批处理实现进程监控确保程序运行
    经典博客4(六尺帐篷)
  • 原文地址:https://www.cnblogs.com/RobotTech/p/534590.html
Copyright © 2011-2022 走看看