仅递归获取所有文件夹
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)
{
}
}
}
这将捕获异常但继续下一个目录。
我在读到,一旦发现试图访问目录的异常,函数就会中断并且不会继续下一个目录(至少这是我需要的)。 ¿知道如何解决这个问题吗?
我只是想找一些文件夹来展示..
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)
{
}
}
}
这将捕获异常但继续下一个目录。