C#中拷贝指定文件夹下的所有文件夹目录到指定文件夹中的方法

原文地址:http://www.biye5u.com/article/Csharp/fileprog/2011/4198.html

本文给出了一个在C#中拷贝指定文件夹下的所有文件夹目录到指定文件夹中的方法。

public static void CopyFolder(string strFromPath,string strToPath)
{
       //如果源文件夹不存在,则创建
       if (!Directory.Exists(strFromPath))
       { 
              Directory.CreateDirectory(strFromPath);
       }
       //取得要拷贝的文件夹名
       string strFolderName = strFromPath.Substring(strFromPath.LastIndexOf("\\") +
         1,strFromPath.Length - strFromPath.LastIndexOf("\\") - 1);
       //如果目标文件夹中没有源文件夹则在目标文件夹中创建源文件夹
       if (!Directory.Exists(strToPath + "\\" + strFolderName))
       { 
              Directory.CreateDirectory(strToPath + "\\" + strFolderName);
       }
       //创建数组保存源文件夹下的文件名
       string[] strFiles = Directory.GetFiles(strFromPath);
       //循环拷贝文件
       for(int i = 0;i < strFiles.Length;i++)
       {
              //取得拷贝的文件名,只取文件名,地址截掉。
              string strFileName = strFiles[i].Substring(strFiles[i].LastIndexOf("\\") + 1,strFiles[i].Length - strFiles[i].LastIndexOf("\\") - 1);
              //开始拷贝文件,true表示覆盖同名文件
              File.Copy(strFiles[i],strToPath + "\\" + strFolderName + "\\" + strFileName,true);
       }
       //创建DirectoryInfo实例
       DirectoryInfo dirInfo = new DirectoryInfo(strFromPath);
       //取得源文件夹下的所有子文件夹名称
       DirectoryInfo[] ZiPath = dirInfo.GetDirectories();
       for (int j = 0;j < ZiPath.Length;j++)
       {
              //获取所有子文件夹名
              string strZiPath = strFromPath + "\\" + ZiPath[j].ToString(); 
              //把得到的子文件夹当成新的源文件夹,从头开始新一轮的拷贝
              CopyFolder(strZiPath,strToPath + "\\" + strFolderName);
       }
}

时间: 2024-12-16 13:14:41

C#中拷贝指定文件夹下的所有文件夹目录到指定文件夹中的方法的相关文章

遍历指定文件夹下的所有图片,并复制到指定目录下

import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.List; import javax.imageio.ImageIO; public class Copy { /** * 遍历文件夹下的所有图片文件,并复制到指定文件夹下 */ static String srcfile = "E:/I

matlab 把一个文件夹下的所有图片(可以包含在子文件夹下)考到指定文件夹下

clc;clear all; maindir = 'C:\Users\wang\Desktop\iLIDS-VID\i-LIDS-VID\images\cam2';subdir = dir( maindir ); % 先确定子文件夹 for i = 1 : length( subdir ) if( isequal( subdir( i ).name, '.' ) || ... isequal( subdir( i ).name, '..' ) || ... ~subdir( i ).isdir

IO流的练习3 复制多级文件夹下的指定文件并改名

需求:复制指定目录下的指定文件,并修改后缀名. 指定的文件是:.java文件. 指定的后缀名是:.jad 数据源所在文件夹:C:\Users\Administrator\Desktop\记录 目的地所在文件夹:C:\Users\Administrator\Desktop\新建文件夹\copy 分析: A:封装数据源的目录 B:封装目的地的目录 判断路径下的文件是否是文件夹 是:在目的文件夹下创建该文件, 获取数据源所在文件夹的所有文件的File数组 遍历File数组,得到每个文件的File对象

Eclipse for javaee中开发web项目,jar包必须放到/WEB-INF/lib文件夹下

1.tomcat应用服务器,它有其自己的类加载器,根据J2EE的规范去%web-project%/WEB-INF/lib的路径去找相应的lib下的jar文件 2.使用eclipse javaee IDE时,会将WEB-INF/lib中所有的lib自动加入到library中 3.eclipse工程下的library是用来编译里面的src中java文件的,实际发布到tomcat时,仅仅只复制了WEB-INF/lib里面的jar包,所以出现eclipse可以正常编译但tomcat运行是找不到类 4.你

Ubuntu 统计文件夹下文件个数的命令

查看当前目录下的文件数量(不包含子目录中的文件) ls -l|grep "^-"| wc -l 查看当前目录下的文件数量(包含子目录中的文件) 注意:R,代表子目录 ls -lR|grep "^-"| wc -l 查看当前目录下的文件夹目录个数(不包含子目录中的目录),同上述理,如果需要查看子目录的,加上R ls -l|grep "^d"| wc -l 查询当前路径下的指定前缀名的目录下的所有文件数量 例如:统计所有以"20161124

git 无法添加文件夹下文件

最近做项目时,发现无法提交某个子文件夹下的文件. google后发现可能是该子文件夹下有.git文件夹导致无法上传. 删除子文件夹下.git后,依然无法提交子文件夹下的文件. 继续google, 尝试以下方法: git rm --cached directory git add directory 注:directory为子文件夹的路径. 但是执行git rm --cached directory时,提示 fatal: Unable to create 'xx/.git/index.lock':

Python引用(import)文件夹下的py文件的方法

Python的import包含文件功能就跟PHP的include类似,但更确切的说应该更像是PHP中的require,因为Python里的import只要目标不存在就报错程序无法往下执行.要包含目录里的文件,PHP中只需要给对路径就OK.Python中则不同,下面来看看这个例子. 目录结构: a.py 要 import dir目录下的 b.py 文件.a.py代码如下: 复制代码 代码如下: # coding=utf-8 "import dir 目录下的 b.py 文件"  impor

Python如何import文件夹下的文件

Python的import包含文件功能就跟PHP的include类似,但更确切的说应该更像是PHP中的require,因为Python里的import只要目标不存在就报错程序无法往下执行.要包含目录里的文件,PHP中只需要给对路径就OK.Python中则不同,下面来看看这个例子. 目录结构: a.py 要 import dir目录下的 b.py 文件.a.py代码如下: 1 2 3 4 5 6 # coding=utf-8 "import dir 目录下的 b.py 文件" impor

JAVA-获取实现了指定接口类的所有实现类或继承了指定类的所有子类

实际编程过程中,我们可能遇到这样的问题,就是获取实现了指定接口类的所有实现类. 本工具类就提供了这样的功能.下面是工具类的详细解析: /** * 查找指定路径下面实现指定接口的全部类 * @author longyin * @author 博客地址:http://blog.csdn.net/u010156024 * 如果大家有什么问题或疑问,欢迎留言或评论,谢谢!! */ public class ClassUtil { @SuppressWarnings({ "rawtypes",