如何增加或循环遍历特定目录中的文件夹

时间:2014-05-23 19:57:27

标签: c# wpf directory

我想实现一种方法来删除程序中不再存在的目录中的文件夹。到目前为止,我已经创建了一个strings数组,它将包含目录中需要存在的文件夹名称。在这之后,我想使用循环将每个文件夹与数组进行比较 - 如果找不到匹配项,则应将其删除。

我知道如何删除没有问题的目录,但我不知道如何遍历目录位置中的现有文件夹。我该怎么做?

我很抱歉没有"我尝试了什么"部分。如上所述,我熟悉其他目录操作,但没有找到一个很好的解释。如果需要,我很乐意澄清我的问题。

这就是我在这个问题上找到的所有内容:http://msdn.microsoft.com/en-us/library/bb513869.aspx

2 个答案:

答案 0 :(得分:1)

string[] folderlist;    
folderlist = Directory.GetDirectories("YourStartingDirectory");
foreach (string FolderName in folderlist)
{
      string rfoldername = Path.GetFileName(FolderName);
}

这将循环遍历给定目录的所有目录,如果你需要一个目录的目录,你需要执行这个函数的重复,给出一个不同的起始目录,我希望这有帮助

答案 1 :(得分:1)

我不确定你试图做什么,但你可以这样做:

string[] root = Directory.GetDirectories(
     RootDirectory, @"*.*", SearchOption.AllDirectories);

string[] secondary = Directory.GetDirectories(
    SecondaryDirectory, @"*.*", SearchOption.AllDirectories);

for(int r = 0; r < root.Length; r++)
    for(int s; s < secondary.Length; s++)
         if(root[r] != secondary[s])
              Directory.Delete(r, true);

这应该迭代数组,然后比较两者。然后执行您想要的任务。