获取所有文件
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);
}
}
这是一个关于文件系统操作的代码示例,包括获取指定路径下所有文件并递归遍历子目录,以及将这些文件拷贝到目标位置。代码中包含了两个静态方法:`GetAllFile`用于获取所有文件信息,`CopyFile`用于拷贝文件。这两个方法都涉及到目录的遍历和文件的拷贝操作,适用于需要批量处理文件的场景。
3007

被折叠的 条评论
为什么被折叠?



