我有一个功能,目前可以抓取所有文件夹和子文件夹,以检查 ACL 是否有我正在构建的小工具,但我正在努力弄清楚如何限制它可以达到的深度。例如,您有一个 4 层深的文件夹,但我希望只能为 ACL 抓取 3 层。
目前我已经这样编码:
private void StepThroughDirectories(string dir)
{
string[] directories = Directory.GetDirectories(dir);
try
{
foreach (string d in Directory.GetDirectories(dir))
{
if (recCount < (int)Depth)
{
GetACLs(d, new DirectoryInfo(d));
pBar.Value += 1;
//MessageBox.Show("Recursive Level: " + counter.ToString());
recCount++;
StepThroughDirectories(d);
}
else
{
recCount--;
}
}
}
catch (System.Exception e)
{
Console.WriteLine(e.Message);
}
}
显然,这并不像以前那么好,因为我一直在研究这个问题一段时间,但如果有人能指出我解决这个问题的正确方向,我会非常高兴!