我希望能够在c#3.5中将文件夹结构(不是内容)从一个位置复制到另一个位置
例如,
C:\某些文件夹
+文件夹A
+子文件夹A
+子文件夹B
+子文件夹B1
+子文件夹B2
+子文件夹C
到新的位置
C:\一些新文件夹
+文件夹A
+子文件夹A
等......等等。
答案 0 :(得分: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等等)
如果您不想要文件而只需要目录,那么只需删除第二个循环。
答案 1 :(得分:1)
要将src
的文件夹结构复制到dest
:
dest
。dest
上设置权限以匹配src
。name
中的每个文件夹src
,请将src\name
的文件夹结构复制到dest\name
。