نوشته شده توسط
marziehk
برای شروع نیاز به دستوری دارم که بشه باهاش اطلاعات کل هارد رو خوند. من دستورات مشابه برای خوندن اطلاعات یک درایو دیدم اما من می خوام اگه دستوری برای خوندن اطلاعات کل هارد به صورت یکجا وجود داره از اون استفاده کنم.
ممنونم
با سلام
این تابع کل هارد رو سرچ میکند
private Collection<FileInfo> SearchDisk(string keyWord, DirectoryInfo root, ref Collection<FileInfo> defCollection)
{
if (defCollection == null) defCollection = new Collection<FileInfo>();
try
{
foreach (var fFile in root.GetFiles(keyWord, SearchOption.TopDirectoryOnly))
defCollection.Add(fFile);
foreach (var fFolder in root.GetDirectories())
SearchDisk(keyWord, fFolder, ref defCollection);
}
catch
{
// ignored
}
return defCollection;
}
طریقه استفاده
foreach (var _drive in DriveInfo.GetDrives()) {
var temp =
new Collection<FileInfo>();
foreach (var _file in SearchDisk("*.*", _drive.RootDirectory, ref temp))
listBox1.Items.Add(_file.FullName);
}
توجه داشته باشید اگر اطلاعات هار شما زیاد باشد جستجو طول خواهد کشید و فکر میکنید که برنامه هنگ شده پس صبور باشید
در این قسمت
"*.*"
میتوانید نحوه جستجو را معیین کنید
"*.*"
کد بالا تمام فایلها را جستجو میکند
کد زیر فایلهای pdf را جستجو میکند
"*.pdf"