c#复制包含子目录文件夹代码

c#没有复制目录的代码,需要通过递归实现复制目录:

需要引用System.IO命名空间,实现代码如下:

private static bool CopyDirectory(string SourcePath, string DestinationPath, bool overwriteexisting)
{
   bool ret = false;
   try
   {
       SourcePath = SourcePath.EndsWith(@"\") ? SourcePath : SourcePath + @"\";
       DestinationPath = DestinationPath.EndsWith(@"\") ? DestinationPath : DestinationPath + @"\";  

       if (Directory.Exists(SourcePath))
       {
           if (Directory.Exists(DestinationPath) == false)
               Directory.CreateDirectory(DestinationPath);  

           foreach (string fls in Directory.GetFiles(SourcePath))
           {
               FileInfo flinfo = new FileInfo(fls);
               flinfo.CopyTo(DestinationPath + flinfo.Name, overwriteexisting);
           }
           foreach (string drs in Directory.GetDirectories(SourcePath))
           {
               DirectoryInfo drinfo = new DirectoryInfo(drs);
               if (CopyDirectory(drs, DestinationPath + drinfo.Name, overwriteexisting) == false)
                   ret = false;
           }
       }
       ret = true;
   }
   catch (Exception ex)
   {
       ret = false;
   }
   return ret;
}

使用方法:

bool copy = CopyDirectory("c:\\temp\\index\\", "c:\\temp\\newindex\\", true);

上面的方法将把c:\temp\index目录下的所有子目录和文件复制到 c:\temp\newindex目录下。

时间: 2024-08-05 04:03:57

c#复制包含子目录文件夹代码的相关文章

Java基础知识强化之IO流笔记48:IO流练习之 复制单级文件夹案例

1. 复制单级文件夹     数据源:e:\\demo     目的地:e:\\test 分析: A:封装目录 B:获取该目录下的所有文本的File数组 C:遍历该File数组,得到每一个File对象 D:把该File进行复制 2.  代码示例: 1 package cn.itcast_03; 2 3 import java.io.BufferedInputStream; 4 import java.io.BufferedOutputStream; 5 import java.io.File;

IO流的练习2 ——— 复制单级文件夹中的文件

需求:把C:\Users\Administrator\Desktop\记录\测试里面的所有文件复制到 C:\Users\Administrator\Desktop\新建文件夹\copy文件夹中 分析: A:封装目录 B:获取该目录下的所有文件的File数组 C:遍历该集合,得到每一个File对象 D:把每个File复制到目的文件夹中 1 public static void main(String[] args) throws IOException { 2 // 封装目录 3 File sta

vs2015中将复制过来的文件夹显示目录文件

先将文件夹和文件复制到VS程序所在的位置,点击解决方案资源管理器上的"显示所有文件"按纽,展开这个文件夹,这样你就可以看到这个文件或者文件夹了,这时,这个文件或者文件夹是虚线构成的.你右击这个文件或者文件夹,选择"包含在项目中",就将它们包含到项目中来了.

OutputStream-InputStream-FileOutputStream-FileInputStream-BufferedOutputStream-BufferedInputStream-四种复制方式-单层文件夹复制

字节流两套:         java.lang.Object--java.io.OutputStream--java.io.FileOutputStream         java.lang.Object--java.io.InputStream--java.io.FileInputStream ================================================================== 一.OutputStream 抽象类(java.io) 字节输出

ubuntu 用shell脚本实现将当前文件夹下全部文件夹中的某一类文件复制到同一文件夹下

当前文件夹下有一些文件和文件夹,当中每一个文件夹里都有若干.txt文件. 如今要求在当前文件夹创建一个新文件夹all,且将那些文件夹全部.txt文件 都复制到文件夹all.在ubuntu12.04的shell脚本实现例如以下: #!/bin/sh # 提示信息 echo "start:" # 定义变量 dst=all pst=.txt # 拷贝文件到目标目录 if [ -d ${dst} ] then echo "${dst} existed" else echo

linux 复制目录(文件夹)和打包命令

复制目录命令: cp 需要复制的目录 -r 目的目录   (注意带参数-r) 压缩文件:zip -r 压缩后文件名 需要压缩的目录 test.zip 是压缩后文件  test是被压缩的文件夹(目录) 解压文件:unzip 被解压的zip文件 -d  ./(带参数-d , ./表示当前目录下,会解压成之前的目录) 或者 解压文件:unzip 被解压的zip文件 -d  ./test1(带参数-d , ./test1表示test1目录下) -d 后面是一个目录

go监视文件改变实现同步--包含遍历文件夹,执行cmd命令,检测文件改变

package main import ( "fmt" "time" "os/exec" "strings" "io/ioutil" "os" "github.com/howeyc/fsnotify" ) const filePath = "/home/ubuntu/GzhuOJ/public" var watcher *fsnotify.Watc

C# 使用ftp下载一个文件夹下的所有文件,包括子目录文件夹

这篇博客给大家补充一个方法,就是得到一个目录下的所有文件名称.在前端调用,大家写一个递归去遍历就可以了,我在这里就不在谢了.具体ftp下载的方法在我的另一篇博客里有,需要的可以去看一下. /// <summary> /// 读取文件目录下所有的文件名称,包括文件夹名称 /// </summary> /// <param name="ftpAdd">传过来的文件夹路径</param> /// <returns>返回的文件或文件夹

使用VS的生成事件命令行指令将生成的exe,dll文件复制到指定文件夹中

VS预生成事件命令行 和 生成后事件命令行 宏说明 $(ConfigurationName)            当前项目配置的名称(例如,“Debug|Any CPU”). $(OutDir)                              输出文件目录的路径,相对于项目目录.这解析为“输出目录”属性的值.它包括尾部的反斜杠“\”. $(DevEnvDir)                         Visual Studio 2005 的安装目录(定义为驱动器 + 路径):