如何复制文件夹结构
本文关键字:文件夹 结构 复制 何复制 | 更新日期: 2023-09-27 18:37:01
我希望能够在 c# 3.5
中仅将文件夹结构(而不是内容)从一个位置复制到另一个位置例如
C:''某个文件夹
+ 文件夹 A
+ 子文件夹 A
+ 子文件夹 B
+ 子文件夹 B1
+ 子文件夹 B2
+ 子文件夹 C
到新位置
C:''某个新文件夹
+ 文件夹 A
+ 子文件夹 A
等。
你的意思是你想创建相同的文件,而不是同一结构中的内容。
像这样的东西可能会起作用:
public static TotallyNotRecursiveAndCreateDirs(string root, string newRoot)
{
DirectoryInfo rootDir = new DirectoryInfo(Path.GetPathRoot(root));
DirectoryInfo[] dirs = rootDir.GetDirectories("*", SearchOption.AllDirectories);
foreach(DirectoryInfo dir in dirs)
{
Directory.CreateDirectory(dir.FullName.Replace(root, newRoot));
FileInfo[] files = dir.GetFiles("*.*", SearchOption.TopDirectoryOnly);
foreach(FileInfo file in files)
{
File.Create(file.FullName.Replace(root, newRoot));
}
}
}
您可能还需要执行一些异常检查,以确保根和新根参数有效(即:rooted等...)
如果您不想要文件和目录,则只需删除第二个循环。
要将
文件夹结构复制到src
到 dest
:
- 创建
dest
. - (可选)设置
dest
的权限以匹配src
。 - 对于
src
中name
的每个文件夹,将文件夹结构复制到src'name
到dest'name
。