使用IO组件操作文件的时候发现有file.copy,却没有 Directory.Copy,网上搜了下,写的太奇怪,自己用递归从新写了一个,
/// <summary>
/// Copy Directory
/// </summary>
/// <param name="as_SourceName">Source Path</param>
/// <param name="as_DeskName">Dest Path</param>
public void uf_DirectoryCopy(string as_SourceName, string as_DeskName)
{
string[] ls_Files = Directory.GetFiles(as_SourceName); //Get All File In Path:as_SourceName
string[] ls_Directorys = Directory.GetDirectories(as_SourceName); //Get All Directorys in Path:as_SourceName
if (!Directory.Exists(as_DeskName))
Directory.CreateDirectory(as_DeskName); //Create Desk Directory
//Copy File From Source to Dest
foreach (string lo_EachFile in ls_Files)
{
string ls_FileName = lo_EachFile.Substring(lo_EachFile.LastIndexOf("\\") + 1);
File.Copy(lo_EachFile, as_DeskName + "\\" + ls_FileName,true);
}
if (ls_Directorys.Length == 0) //None Directorys
return;
foreach (string lo_EachDirectory in ls_Directorys)
{
string ls_DirectoryName = lo_EachDirectory.Substring(lo_EachDirectory.LastIndexOf("\\") + 1);
uf_DirectoryCopy(lo_EachDirectory, as_DeskName + "\\" + ls_DirectoryName);
}
}