PDA

View Full Version : سوال: تابع defragment



kitten
دوشنبه 06 خرداد 1387, 19:13 عصر
سلام دوستان من يه سوال داشتم اينم اينه كه تابع defragment چيه؟

kitten
پنج شنبه 09 خرداد 1387, 10:46 صبح
سلام پس حداقل بگيد كه با چه دستوري تو cmd مي تونم اين كار را بكنم؟

Nima_NF
پنج شنبه 09 خرداد 1387, 15:17 عصر
اطلاعات زیادی در این زمینه ندارم، اما فکر نمی کنم شما بتوانید این کار را به تنهایی با یک تابع انجام دهید چون Disk defragmenter فقط یک نرم افزار هست و شما باید با استفاده از API ها تک تک فایل ها چک کرده و defragment کنید و به نوعی نرم افزاری شبیه به آن درست کنید.

مراحل انجام این کار با استفاده از CreateFile و DeviceIoControl و فلگ های مورد نظر (مانند FSCTL_GET_RETRIEVAL_POINTERS) در لینک زیر وجود دارد، که برای اطلاعات بیشتر می توانید در مورد آن ها جستجو کنید:
http://msdn.microsoft.com/en-us/library/aa363911(VS.85).aspx (http://msdn.microsoft.com/en-us/library/aa363911%28VS.85%29.aspx)

اگر هم فقط می خواهید خود نرم افزار را فراخوانی کنید از "Dfrg.msc" در cmd استفاده کنید.

moh.mon
یک شنبه 12 خرداد 1387, 22:06 عصر
اگه منظورتون اینه که کار این تابع چیه باید بگم که هر دفعه که ما فایلی رو باز میکنیم واز اون استفاده میکنیم دیگه این فایل به آدرس اول خودش بر نمیگرده و اصطلاحا به نزدیک ترین جا از hard میره و تابع difragment هر بار که فراخوانی میشه به مرتب سازی داده ها میپردازه که باعث بالا رفتن سرعت سیستم میشه.(البته خیلی ساده توضیح دادم.)