Tôi có một chức năng hiện đang lấy tất cả các thư mục và thư mục con để kiểm tra ACL cho một công cụ nhỏ mà tôi đang xây dựng nhưng tôi đang kéo tóc ra cố gắng tìm ra cách giới hạn chiều sâu mà nó có thể đi đến. Ví dụ bạn có một thư mục mà đi 4 cấp độ sâu nhưng tôi muốn để có thể chỉ lấy 3 cấp độ của nó cho ACL.Làm thế nào để giới hạn chiều sâu của một thư mục con tìm kiếm đệ quy
Hiện nay tôi có nó mã hóa thusly:
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);
}
}
Rõ ràng đó không phải là tốt đẹp như nó là vì tôi đã làm việc trên vấn đề đối với một thời gian ngắn nhưng nếu có ai có thể chỉ cho tôi đi đúng hướng để giải quyết vấn đề này tôi sẽ rất hạnh phúc!
gì là không làm việc cho bạn? Có vẻ như mã này không biên dịch - recCount được khai báo ở đâu (và pBar, và Depth)? và của bạn (nhận xét ra) MessageBox.Show sử dụng truy cập thay vì .... –