仅递归获取所有文件夹

Get only all folders recursive

我在读到,一旦发现试图访问目录的异常,函数就会中断并且不会继续下一个目录(至少这是我需要的)。 ¿知道如何解决这个问题吗?

我只是想找一些文件夹来展示..

C#.Net

提前致谢

        static void WalkDirectoryTree(System.IO.DirectoryInfo root)
    {
        try
        {
            System.IO.DirectoryInfo[] subDirs = null;

            // Now find all the subdirectories under this directory.
            subDirs = root.GetDirectories();

            foreach (System.IO.DirectoryInfo dirInfo in subDirs)
            {
                // Resursive call for each subdirectory.
                WalkDirectoryTree(dirInfo);
            }
        }
        catch (Exception)
        {

            //Do nothing
        } 
    }

您需要将 try catch 的范围缩小到 foreach 循环内

static void WalkDirectoryTree(System.IO.DirectoryInfo root)
{
    System.IO.DirectoryInfo[] subDirs = null;

    // Now find all the subdirectories under this directory.
    subDirs = root.GetDirectories();

    foreach (System.IO.DirectoryInfo dirInfo in subDirs)
    {
        // Resursive call for each subdirectory.
        try 
        {
            WalkDirectoryTree(dirInfo);
        }
        catch (Exception)
        {
        } 

    }
}

这将捕获异常但继续下一个目录。