File.Copy(源文件地址,目标地址, true(为true是覆盖同名文件));
///
/// 从一个目录将其内容移动到另一目录
///
/// 禅虚源陪袭伏目录
/// 目的目录
private void MoveFolderTo(string p, string p_2)
{
//检查是否存在目的目录
if (!Directory.Exists(p_2))
Directory.CreateDirectory(p_2);
//先来芦携移动文件
DirectoryInfo info = new DirectoryInfo(p);
FileInfo[] files = info.GetFiles();
foreach (FileInfo file in files)
{
File.Copy(param name="p“,Path.Combine(p_2, file.Name), true(为true是覆盖同名文件)); //复制文件
}
}
c#中复制过来不识别,只能打开vs在B文件右击属性中添加过来。
ctrl+C 赋值
ctrl+V 黏贴
主要思想:
1、写一拦族个拷贝文件夹的函数CopyFolder,传入源文件夹路径和目的文件夹路径。
2、判断目的文件夹路径是否存在,如果不存在,创建此文件夹。
3、获取源文件夹下的所有文件,拷贝这些文件到目的文件夹。
4、获取源文件夹下的所有文件夹,循环调用CopyFolder(此处利用了递归)
代码:
拷贝文件夹
using System;using System.IO;namespace FolderService{
public class FolderService
{
static void Main(string[] args)
{
if (args.Length != 2)
{
Console.WriteLine("请输入源文件简厅弊夹地址和目的文件夹地址!");
return;
}
// 判断源文件夹是否存在
if (!Directory.Exists(args[0])) {
Console.WriteLine("源文件夹不存在!");
return;
}
/伏知/ 拷贝文件夹
FolderService copy = new FolderService();
string flag = copy.CopyFolder(args[0], args[1]);
Console.WriteLine(flag);
}
///
/// Copy文件夹
///
/// 源文件夹路径
/// 目的文件夹路径
/// <returns>完成状态:success-完成;其他-报错returns>
public string CopyFolder(string sPath, string dPath)
{
string flag = "success";
try
{
// 创建目的文件夹
if (!Directory.Exists(dPath))
{
Directory.CreateDirectory
(dPath);
}
// 拷贝文件
DirectoryInfo sDir = new DirectoryInfo(sPath);
FileInfo[] fileArray = sDir.GetFiles();
foreach (FileInfo file in fileArray) {
file.CopyTo(dPath + "\\" + file.Name, true);
}
// 循环子文件夹
DirectoryInfo dDir = new DirectoryInfo(dPath);
DirectoryInfo[] subDirArray = sDir.GetDirectories();
foreach (DirectoryInfo subDir in subDirArray)
{
CopyFolder(subDir.FullName, dPath + "//" + subDir.Name);
}
}
catch (Exception ex)
{
flag = ex.ToString();
}
return flag;
}
}}