我想实现一种方法来删除程序中不再存在的目录中的文件夹。到目前为止,我已经创建了一个strings
数组,它将包含目录中需要存在的文件夹名称。在这之后,我想使用循环将每个文件夹与数组进行比较 - 如果找不到匹配项,则应将其删除。
我知道如何删除没有问题的目录,但我不知道如何遍历目录位置中的现有文件夹。我该怎么做?
我很抱歉没有"我尝试了什么"部分。如上所述,我熟悉其他目录操作,但没有找到一个很好的解释。如果需要,我很乐意澄清我的问题。
这就是我在这个问题上找到的所有内容:http://msdn.microsoft.com/en-us/library/bb513869.aspx
答案 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);
这应该迭代数组,然后比较两者。然后执行您想要的任务。