PDA

View Full Version : جستجوی هارد برای یک فایل



el.karimi.se
چهارشنبه 01 اردیبهشت 1389, 09: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);
}
}

s.khoshfekran
چهارشنبه 01 اردیبهشت 1389, 17:09 عصر
public void Directories(DirectoryInfo d,string name)
{
DirectoryInfo[] dia = d.GetDirectories();
if (dia.Length != 0)
{
foreach (DirectoryInfo dx in dia)
{
foreach (FileInfo x in dx.GetFiles())
{
if (x.Name == name)
{
MessageBox.Show(x.FullName);
}
}
Directories(dx, name);

}
}
}

موفق باشی

el.karimi.se
پنج شنبه 02 اردیبهشت 1389, 17:48 عصر
publicvoid Directories(DirectoryInfo d,string name)
{
DirectoryInfo[] dia = d.GetDirectories();
if (dia.Length != 0)
{
foreach (DirectoryInfo dx in dia)
{
foreach (FileInfo x in dx.GetFiles())
{
if (x.Name == name)
{
MessageBox.Show(x.FullName);
}
}
Directories(dx, name);

}
}
}

موفق باشی
ممنون ولی بازم سرعتش همون اندازه پایین مخصوصا وقتی برای بار اول اجرا می کنم