如何复制文件夹结构

本文关键字:文件夹 结构 复制 何复制 | 更新日期: 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等...)

如果您不想要文件和目录,则只需删除第二个循环。

要将

文件夹结构复制到srcdest

  1. 创建dest .
  2. (可选)设置dest的权限以匹配src
  3. 对于srcname的每个文件夹,将文件夹结构复制到 src'namedest'name