获取所有文件
public static List<FileInfo> GetAllFile(string path)
{
var ret = new List<FileInfo>();
DirectoryInfo dir = new DirectoryInfo(path);
if (dir.Exists)
{
var files = dir.GetFiles();
ret.AddRange(files);
var childDir = dir.GetDirectories();
foreach (var item in childDir)
{
//文件夹
var chiledFiles = GetAllFile(item.FullName);
ret.AddRange(chiledFiles);
}
}
return ret;
}
拷贝所有文件
static void CopyFile(string from, string to)
{
var toPath = to.EndsWith(@"\") ? to : to + @"\";
if (!Directory.Exists(from))
{
return;
}
var files = Directory.GetFiles(from);
foreach(var file in files)
{
var fileInfo = new FileInfo(file);
if (!Directory.Exists(toPath))
{
Directory.CreateDirectory(toPath);
}
fileInfo.CopyTo(toPath + fileInfo.Name, true);
}
foreach(var dir in Directory.GetDirectories(from))
{
if (dir.EndsWith("mobile_sites"))
{
continue;
}
DirectoryInfo dirInfo = new DirectoryInfo(dir);
CopyFile(dir, toPath + dirInfo.Name);
}
}