C# 拷贝目录
public class DirectoryExtends
{
/// <summary>
/// 拷贝目录
/// </summary>
/// <param name="oldpath">源目录</param>
/// <param name="newpath">新目录</param>
public static void CopyDirectory(string oldpath, string newpath)
{
if (string.IsNullOrWhiteSpace(newpath)) return;
var folderName = oldpath.Substring(oldpath.LastIndexOf("\\", StringComparison.Ordinal) + );
var desfolderdir = newpath + "\\" + folderName;
if (newpath.LastIndexOf("\\", StringComparison.Ordinal) == (newpath.Length - ))
{
desfolderdir = newpath + folderName; }
var filenames = Directory.GetFileSystemEntries(oldpath);
foreach (string file in filenames)
{
if (Directory.Exists(file))
{
var currentdir = desfolderdir + "\\" + file.Substring(file.LastIndexOf("\\", StringComparison.Ordinal) + );
if (!Directory.Exists(currentdir))
{
Directory.CreateDirectory(currentdir); }
CopyDirectory(file, desfolderdir);
}
else
{
var srcfileName = file.Substring(file.LastIndexOf("\\", StringComparison.Ordinal) + );
srcfileName = desfolderdir + "\\" + srcfileName;
if (!Directory.Exists(desfolderdir))
{
Directory.CreateDirectory(desfolderdir);
}
File.Copy(file, srcfileName,true);
}
}
} }
备注:目录不存在的会自动创建
C# 拷贝目录的更多相关文章
- Linux下拷贝目录和删除
cp命令用于复制文件或目录,若同事指定两个以上的文件或目录,切最后一个目的地是一个已存在的目录,则它会把前面指定的所有文件或目录复制到此目录中.若同时指定多个文件或目录,而最后的目的地并非一个已存在的 ...
- 原生Java代码拷贝目录
拷贝.移动文件(夹),有三方包commons-io可以用,但是有时候有自己的需求,只能使用原生java代码,这时可以用以下几种方式进行拷贝: 1.使用系统命令(Linux)调用 此种方式对操作系统有要 ...
- scp -r拷贝目录不会拷贝软连接
scp -r拷贝目录,不会拷贝 软连接的 解决方法: 使用rsync拷贝 参考:rsync本地及远程复制备份[原创] - paul_hch - 博客园 https://www.cnblogs.com/ ...
- C#-拷贝目录内容(文件和子目录)
/// <summary> /// 拷贝目录内容 /// </summary> /// <param name="source">源目录< ...
- python 生成、删除、拷贝目录
1. 生成目录 函数原型:distutils.dir_util.mkpath(name[, mode=0777, verbose=0, dry_run=0]) from distutils impor ...
- [转帖]XCopy复制文件夹命令及参数详解以及xcopy拷贝目录并排除特定文件
XCopy复制文件夹命令及参数详解以及xcopy拷贝目录并排除特定文件 https://www.cnblogs.com/smartsmile/p/7665979.html xcopy dirA dir ...
- 100个Shell脚本—【脚本6】拷贝目录
[脚本6]拷贝目录 编写shell脚本,把/root/目录下的所有目录(只需要一级)拷贝到/tmp/目录下: 一.脚本 #!/bin/bash cd /root list=(`ls`) for i i ...
- Delphi拷贝目录(含子目录)的方法
要实现目录级的拷贝,可以利用Windows API函数ShFileOperation( ),其函数声明如下: WINSHELLAPI int WINAPI SHFileOperation( LPSHF ...
- XCopy复制文件夹命令及参数详解以及xcopy拷贝目录并排除特定文件
XCOPY是COPY的扩展,可以把指定的目录连文件和目录结构一并拷贝,但不能拷贝系统文件:使用时源盘符.源目标路径名.源文件名至少指定一个:选用/S时对源目录下及其子目录下的所有文件进行COPY.除非 ...
随机推荐
- Eclipse配置PyDev插件来实现python开发环境
1.安装python解释器(完成的略过) 2.安装PyDev: 首先需要去Eclipse官网下载:http://www.eclipse.org/,Eclipse需要JDK支持,如果Eclipse无法正 ...
- 80.Android之内存管理
转载:http://www.jianshu.com/p/9fb0a795da93 1. Android中的内存 1.1 Android中的垃圾回收机制 Android 平台最吸引开发者的一个特性:有垃 ...
- Leetcode First Bad Version
You are a product manager and currently leading a team to develop a new product. Unfortunately, the ...
- 【BZOJ-2095】Bridge 最大流 + 混合图欧拉回路 + 二分
2095: [Poi2010]Bridges Time Limit: 10 Sec Memory Limit: 259 MBSubmit: 604 Solved: 218[Submit][Stat ...
- phpweb /version.php Vul
catalog . 漏洞描述 . 漏洞触发条件 . 漏洞影响范围 . 漏洞代码分析 . 防御方法 . 攻防思考 1. 漏洞描述 Relevant Link:2. 漏洞触发条件3. 漏洞影响范围4. 漏 ...
- c#自适应窗体的实现
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.W ...
- [iOS dispatch_once创建单例]
自苹果引入了Grand Central Dispatch (GCD)(Mac OS 10.6和iOS4.0)后,创建单例又有了新的方法,那就是使用dispatch_once函数,当然,随着演进的进行, ...
- vi命令大全
参考 http://www.cnblogs.com/88999660/articles/1581524.html 最近要用到linux和shell脚本,所以多学习下,反正没什么坏处 在linux里面, ...
- 通往WinDbg的捷径(二)
原文:http://www.debuginfo.com/articles/easywindbg2.html译者:arhat时间:2006年4月14日关键词:CDB WinDbg 保存 dumps 在我 ...
- Mouse.OverrideCursor
介绍: 获取和设置整个应用程序的光标,WPF父元素将覆盖所有子元素的光标. WPF设置控件的光标: WPF 中每个光标通过一个System.Windows.Input.Cursor表示, 获取Curs ...