-1

我希望能够在 c# 3.5 中仅将文件夹结构(而不​​是内容)从一个位置复制到另一个位置

例如
C:\Some 文件夹
   + 文件夹 A
     + 子文件夹 A
     + 子文件夹 B
       + 子文件夹 B1
       + 子文件夹 B2
   + 子文件夹 C

到新位置
C:\一些新文件夹
   + 文件夹 A
     + 子文件夹 A
等等......等等。

4

2 回答 2

1

您的意思是要创建相同的文件,而不是相同结构中的内容。

像这样的东西可能会起作用:

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));
            }
        }
    }

您可能还想进行一些异常检查以确保 root 和 newRoot 参数有效(即:rooted 等...)

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

于 2012-06-11T20:14:30.237 回答
1

要将文件夹结构复制srcdest

  1. 创建dest.
  2. (可选)设置权限dest以匹配src
  3. 对于 中的每个文件夹namesrc将文件夹结构复制src\namedest\name
于 2012-06-11T20:15:12.620 回答