J'ai une fonction qui saisit actuellement tous les dossiers et sous-dossiers pour vérifier les listes de contrôle d'accès pour un petit outil que je construis mais je tire mes cheveux essayer de comprendre comment limiter la profondeur qu'il peut aller. Par exemple vous avez un dossier qui va à 4 niveaux de profondeur mais je veux être capable de n'en saisir que 3 niveaux pour les ACL.Comment limiter la profondeur d'un sous-répertoire récursif Rechercher
Actuellement je l'ai codé ainsi:
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);
}
}
Il est évident que ce n'est pas aussi beau que c'était parce que je travaille sur le problème pendant un petit moment, mais si quelqu'un peut me diriger dans la bonne direction résoudre ce problème, je serais très heureux!
Qu'est-ce qui ne fonctionne pas pour vous? On dirait que ce code ne compile pas - où recCount est déclaré (et pBar et Depth)? et votre (mis en commentaire) MessageBox.Show utilise counter à la place .... –