我有一個函數,當前抓取所有文件夾和子文件夾來檢查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);
}
}
顯然,這並不像你一樣,那是因爲我一直對這個問題的一小會兒,但如果任何人都可以點我在正確的方向解決這個問題我會很開心!
什麼不適合你的工作是什麼嗎?看起來像這樣的代碼不會編譯 - 宣佈recCount的位置(以及pBar和Depth)?和你的(註釋掉)MessageBox.Show使用計數器來代替.... – 2010-10-06 16:06:22