【发布时间】:2018-08-06 11:50:18
【问题描述】:
我有几个文件夹,如下结构: c:\temp\project\folder1\folder2 (这个目录是动态的,我的意思是可以有更多或更少的文件夹)
我想创建这个结构的影子,在每个目录中添加 2 个文件夹,例如
C:\temp\projectNew\folder1(在folder1下我想再创建2个文件夹,存档文件夹,未处理)\folder2(在folder2下我想再创建2个文件夹,存档文件夹,未处理)
这是我的尝试
var sourcePath = @"C:\\temp\\project";
var parentDirectorty = Directory.GetParent(folderPath);
var sourceDirectoryName = folderPath.Replace(Path.GetDirectoryName(folderPath) + Path.DirectorySeparatorChar, "");
var firstDestiDirectoryName = Directory.CreateDirectory($@"{parentDirectorty}\{sourceDirectoryName}new");
但不知道如何获取其他文件夹名称并在每个目录中创建 Archive 和 NotProcessed 文件夹。
对不起我糟糕的英语。
【问题讨论】:
-
好吧,您需要获取主文件夹下的文件夹,然后搜索这些文件夹以获取更多文件夹等并构建树,直到您到达它的底部。由于您不知道需要使用递归的结构的深度。我认为 .NET 框架中已经有一些方法和类可以帮助您解决这个问题,我现在没有时间查找具体内容,但我相信您可以根据需要搜索它。如果您不了解该技术,还可以研究递归。
-
所以,用不同的方式表达你的问题;你有一个“根”文件夹,在本例中是它的项目。在该文件夹中,有文件夹,在每个文件夹及其所有子文件夹中,您要创建更多文件夹吗?
-
你做对了@WynDiesel
-
对不起@WynDiesel 我误解了你的解释。我想创建另一个目录。像项目一样让新目录命名为 projectNew 并在该 projectNew 文件夹下创建所有子目录