Ich habe eine Funktion, die derzeit alle Ordner und Unterordner erfasst, um die ACLs für ein kleines Tool zu überprüfen, das ich baue, aber ich ziehe mir die Haare aus dem Kopf, um herauszufinden, wie ich die Tiefe begrenzen kann, bis zu der es gehen kann. Sie haben zum Beispiel einen Ordner mit einer Tiefe von 4 Ebenen,
ich möchte jedoch nur 3 Ebenen davon für ACLs abrufen können.
Derzeit habe ich ihn folgendermaßen codiert:
Code: Select all
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);
}
}
Natürlich ist das nicht so schön wie es war, weil ich schon eine Weile an dem Problem arbeite, aber wenn mir jemand den richtigen Weg zur Lösung dieses Problems weisen kann, wäre ich sehr glücklich!