C#-拷贝目录内容(文件和子目录)

/// <summary>
        /// 拷贝目录内容
        /// </summary>
        /// <param name="source">源目录</param>
        /// <param name="destination">目的目录</param>
        /// <param name="copySubDirs">是否拷贝子目录</param>
        public static void CopyDirectory(DirectoryInfo source, DirectoryInfo destination, bool copySubDirs)
        {
            if (!destination.Exists)
            {
                destination.Create(); //目标目录若不存在就创建
            }
            FileInfo[] files = source.GetFiles();
            foreach (FileInfo file in files)
            {
                file.CopyTo(Path.Combine(destination.FullName, file.Name), true); //复制目录中所有文件
            }
            if (copySubDirs)
            {
                DirectoryInfo[] dirs = source.GetDirectories();
                foreach (DirectoryInfo dir in dirs)
                {
                    string destinationDir = Path.Combine(destination.FullName, dir.Name);
                    CopyDirectory(dir, new DirectoryInfo(destinationDir), copySubDirs); //复制子目录
                }
            }
        }

http://blog.sina.com.cn/s/blog_61e786780100iiud.html

时间: 2024-09-29 04:17:43

C#-拷贝目录内容(文件和子目录)的相关文章

PHP遍历目录和文件及子目录和文件

正常直接使用opendir方法,就可以读到所有的目录和文件 文件可以直接记录下来,目录则需要再进一步获取里边的文件信息 也就是,如果当前读出来是目录,则需要再次调用函数本身(递归),直到没有目录 循环最后是读到没有文件(目录也是文件)结束 1 <?php 2 // 列出指定目录下所有目录和文件 3 function listDirFiles($dir) 4 { 5 $arr = []; 6 if (is_dir($dir)) {//如果是目录,则进行下一步操作 7 $d = opendir($d

file标签之分别浏览目录下文件和子目录(接上篇)

例2:文件列表 <chtml> <file id=file act=dir type=file>base</file> <for [email protected]{file:getWidth}> <span>@{file:[email protected]{for:getSuffix}} </span> </for> </chtml> 浏览base目录,返回名为file的书包,从0循环到书包的宽度,根据关键字

[转帖]XCopy复制文件夹命令及参数详解以及xcopy拷贝目录并排除特定文件

XCopy复制文件夹命令及参数详解以及xcopy拷贝目录并排除特定文件 https://www.cnblogs.com/smartsmile/p/7665979.html xcopy dirA dirB /s /e /y XCOPY是COPY的扩展,可以把指定的目录连文件和目录结构一并拷贝,但不能拷贝系统文件:使用时源盘符.源目标路径名.源文件名至少指定一个:选用/S时对源目录下及其子目录下的所有文件进行COPY.除非指定/E参数,否则/S不会拷贝空目录,若不指定/S参数,则XCOPY只拷贝源目

BAT 快速删除CVS文件和拷贝最近修改文件的目录结构

相信大家在操作大量文件的的时候,经常会遇到一些手动很难操作的情况 比如有CVS版本控制下每个文件夹下都有一个CVS文件夹,一个个手工删除肯定很费劲,我们都是懒人,还是用工具解决吧.不用重新写程序,直接用BAT命令就能作到.把下面的代码拷贝到记事本,保存成bat可执行文件,放到CVS根目录下,直接执行就行. ? 1 2 3 4 5 6 7 @echo off echo Deleting CVS folders and files under: %1 REM Open Folder specifie

Perl获取目录下文件或者包含子目录下文件

1 my $dir = "D:\\My_Work\\Temp"; 2 my @files = (); 3 4 #获取给定目录下文件 5 @files = get_dir_files($dir); 6 7 #获取给定目录以及子目录下文件 8 @files = get_dir_files_x($dir); 9 10 #获取目录下以及子目录下文件,返回的结果中包含路径 11 sub get_dir_files_x{ 12 my ($dir_p) = @_; 13 my @files = ()

linux下自动ftp到服务器对比拷贝指定目录下文件

#!/bin/bash process=8 PWD=`pwd` DAT=`date` ftpip="192.168.1.1" user="ftp_username" password="ftp_password" local_dir="/home/" getlist() { ftp -n $ftpip <<EOF |awk '{print $9}'|sed '/^$/d' >$PWD/list user $u

cp scp rsync 拷贝目录文件的一些常识

一. cp 拷贝目录 cp -r dir1 dir2 如果目录dir2不存在.命令相当于mv dir1 dir2 如果目录dir2存在  dir1目录会被拷贝到dir2下面   结果:(dir2/dir1) 其实等于 cp -r dir1/ dir2/ cp -r dir1 dir2/ cp -r dir1/ dir2 (区别 拷贝目录下的所有文件,将dir1下的所有文件和目录拷贝到dir2下,但不包括dir1本身目录) cp -r dir1/* dir2 等于 cp -r dir1/* dir

通过java递归思想实现以树形方式展现出该目录中的所有子目录和文件

当初在开始接触Java时  学习File部分的一个小练习  挺有意思 一开始是通过看 北京圣思园 张龙老师的视频开始学校java的,必须强烈推荐,真很棒. 功能实现:主要实现以树形方式展现出该目录中的所有子目录和文件. 另外, 在展现的时候将目录排在上面,文件排在下面.每一层要加上缩进. 文件是jre6文件夹,我想这文件夹就不用我说什么了.换上自己的文件路径就可以了. [java] view plain copy import java.io.File; public class FileTes

拷贝一个目录或者文件到指定路径下

/** * 拷贝一个目录或者文件到指定路径下 * * @param source * @param target */ public static void copy(File source, File target) { File tarpath = new File(target, source.getName()); if (source.isDirectory()) { tarpath.mkdir(); File[] dir = source.listFiles(); for (int