el.karimi.se
چهارشنبه 01 اردیبهشت 1389, 10:43 صبح
سلام دوستان
من برای جستجوی یک فایل از کد زیر استفاده کردم ولی سرعتش خیلی پایین گفتم شاید شما راه حل بهتری رو پیشنهاد کنین.
foreach (DriveInfo drive inDriveInfo.GetDrives())
searchfile(fileName, drive.Name);
publicstaticvoid searchfile(string cpfilename, string cpdir) {
try
{
bool find = false;
foreach (string d inDirectory.GetDirectories(cpdir))
{
foreach (string f inDirectory.GetFiles(d))
{
string cp = f;
cp = cp.Replace("\\", "/");
while (cp.IndexOf("/") > -1)
{
cp = cp.Substring(cp.IndexOf("/") + 1);
}
if (cp == cpfilename)
{
result = f;
find = true;
}
}
if(find==false)
searchfile(cpfilename, d);
}
}
catch (System.Exception excpt)
{
Console.WriteLine(excpt.Message);
}
}
من برای جستجوی یک فایل از کد زیر استفاده کردم ولی سرعتش خیلی پایین گفتم شاید شما راه حل بهتری رو پیشنهاد کنین.
foreach (DriveInfo drive inDriveInfo.GetDrives())
searchfile(fileName, drive.Name);
publicstaticvoid searchfile(string cpfilename, string cpdir) {
try
{
bool find = false;
foreach (string d inDirectory.GetDirectories(cpdir))
{
foreach (string f inDirectory.GetFiles(d))
{
string cp = f;
cp = cp.Replace("\\", "/");
while (cp.IndexOf("/") > -1)
{
cp = cp.Substring(cp.IndexOf("/") + 1);
}
if (cp == cpfilename)
{
result = f;
find = true;
}
}
if(find==false)
searchfile(cpfilename, d);
}
}
catch (System.Exception excpt)
{
Console.WriteLine(excpt.Message);
}
}