وقتی تعداد زیادی فایل کوچک را در ویندوز کپی میکنید، ممکن است نوار پیشرفت فایل اکسپلورر در ابتدا سریع حرکت کند، اما نزدیک پایان انتقال برای مدتی طولانی کند شود. این رفتار لزوماً به معنی خراب بودن SSD یا کمبود سرعت اینترنت نیست؛ زیرا کپی هزاران فایل کوچک با انتقال یک فایل بزرگ تفاوت دارد. ابزار داخلی ویندوز به نام Robocopy میتواند در برخی شرایط این فرایند را سریعتر کند، بهخصوص وقتی کپی فایلها بهصورت همزمان انجام شود.
چرا کپی فایلهای کوچک در ویندوز ۱۱ کندتر از فایلهای حجیم است؟
هنگام کپی یک فایل بزرگ، سیستم معمولاً دادهها را در قالب جریان پیوستهتری منتقل میکند. اما وقتی تعداد فایلها به چند هزار مورد میرسد، ویندوز باید برای هر فایل عملیات جداگانهای مانند باز کردن، خواندن، نوشتن، بستن و ثبت اطلاعات فایلسیستم را انجام دهد. بررسی مجوزها و اسکن امنیتی فایلها نیز ممکن است به زمان انتقال اضافه کند.
به همین دلیل، حجم کلی فایلها بهتنهایی معیار مناسبی برای پیشبینی مدت کپی نیست. بهعنوان مثال، انتقال ۵۰۰۰ فایل متنی با حجم مجموع حدود ۳۰۰ مگابایت ممکن است بیشتر از کپی یک فایل ویدیویی ۵ گیگابایتی زمان ببرد.
در یک آزمایش روی ویندوز ۱۱ با SSD از نوع NVMe، کپی حدود ۵۰۰۰ فایل کوچک با File Explorer تقریباً ۳۰ ثانیه طول کشید؛ در حالی که انتقال یک فایل بزرگ ۵ گیگابایتی حدود ۱۹ ثانیه زمان برد. این اعداد به شرایط همان سیستم مربوطاند و در رایانههای دیگر میتوانند متفاوت باشند.
آموزش استفاده از Robocopy برای افزایش سرعت کپی فایلها
Robocopy ابزار خط فرمان داخلی ویندوز است و برای کپی پوشهها و فایلها، از جمله انتقال حجم زیادی از فایلهای کوچک، کاربرد دارد. برای استفاده از آن نیازی به نصب نرمافزار جداگانه نیست.
برای اجرای ابزار، از منوی استارت عبارت Windows Terminal یا Command Prompt را جستوجو کنید و برنامه را باز کنید. سپس دستوری مشابه زیر وارد کنید:
robocopy "C:Source" "D:Destination" /E /MT:16 /NFL /NDL /NP /LOG:C:copy.log
در این مثال باید مسیر پوشه مبدأ و مقصد را با مسیرهای واقعی رایانه خود جایگزین کنید. پوشه مبدأ باید پیش از مقصد نوشته شود.
- C:Source مسیر پوشهای است که فایلها از آن کپی میشوند.
- D:Destination مسیر پوشه مقصد است.
- /E تمام زیرپوشهها، حتی زیرپوشههای خالی، را نیز کپی میکند.
- /MT:16 امکان کپی همزمان فایلها با ۱۶ رشته پردازشی را فعال میکند.
- /NFL نمایش نام فایلها را در خروجی غیرفعال میکند.
- /NDL نمایش نام پوشهها را غیرفعال میکند.
- /NP نمایش درصد پیشرفت هر فایل را غیرفعال میکند.
- /LOG:C:copy.log گزارش عملیات را در فایل مشخصشده ذخیره میکند.
بهتر است پیش از اجرای دستور، مسیر مبدأ و مقصد را دوباره بررسی کنید. Robocopy ممکن است بدون پرسش اضافه، فایلها را در جهتی که تعیین کردهاید کپی کند. همچنین این دستور محتویات پوشه مبدأ را داخل مقصد کپی میکند و لزوماً پوشه مبدأ را بهعنوان یک پوشه جدید در مقصد نمیسازد.
بهترین مقدار MT در Robocopy برای کپی سریع فایلها
پارامتر /MT تعداد عملیات کپی همزمان را مشخص میکند. مقدار پیشفرض آن در صورت استفاده از این پارامتر بدون تعیین عدد، ۸ است و میتوان تعداد رشتهها را معمولاً از ۱ تا ۱۲۸ تنظیم کرد. با این حال، انتخاب عدد بزرگتر الزاماً سرعت را افزایش نمیدهد.
در آزمایش کپی حدود ۵۰۰۰ فایل کوچک با حجم مجموع ۳۰۰ مگابایت، نتایج زیر ثبت شد:
|
روش کپی |
زمان انتقال |
کاهش زمان نسبت به File Explorer |
|---|---|---|
|
File Explorer |
۳۰ ثانیه |
مبنا |
|
/MT:1 |
۲۹ ثانیه |
حدود ۳ درصد |
|
/MT:4 |
۲۵ ثانیه |
حدود ۱۷ درصد |
|
/MT:8 |
۲۴ ثانیه |
حدود ۲۰ درصد |
|
/MT:16 |
۲۲ ثانیه |
حدود ۲۷ درصد |
|
/MT:32 |
۲۲ ثانیه |
حدود ۲۷ درصد |
|
/MT:64 |
۲۳ ثانیه |
حدود ۲۳ درصد |
|
/MT:128 |
۲۵ ثانیه |
حدود ۱۷ درصد |
در این آزمایش، مقدار ۱۶ رشته همزمان بهترین نتیجه را ارائه کرد؛ اما تفاوتهای یکثانیهای ممکن است در محدوده نوسان طبیعی آزمایش باشند. از مقدار ۱۶ به بعد، افزایش تعداد رشتهها سود مشخصی نداشت و حتی در بعضی اجراها زمان انتقال بیشتر شد.
علت میتواند محدودیت سرعت SSD، پردازشهای پسزمینه، اسکن آنتیویروس یا سربار مدیریت عملیات همزمان باشد. بنابراین، برای رایانه خود بهتر است چند مقدار محدود مانند ۴ و ۸ و ۱۶ را آزمایش کنید و از انتخاب خودکار بیشترین عدد ممکن خودداری کنید.
تنظیمات خطرناک Robocopy و روش جلوگیری از حذف فایلها
Robocopy پارامترهایی دارد که میتوانند روی سرعت انتقال، تلاش مجدد پس از خطا و حتی حذف فایلهای مقصد تأثیر بگذارند. به همین دلیل، قبل از اجرای دستورهای پیشرفته باید عملکرد هر پارامتر را بدانید.
|
پارامتر |
کاربرد |
نکته مهم |
|---|---|---|
|
/Z |
کپی در حالت قابل ادامه پس از قطع عملیات |
ممکن است انتقال را کندتر کند. |
|
/R:1 /W:1 |
یک بار تلاش مجدد با یک ثانیه فاصله |
از انتظارهای طولانی برای فایلهای مشکلدار جلوگیری میکند. |
|
/MIR |
هماهنگ کردن مقصد با مبدأ |
فایلهای اضافی مقصد را حذف میکند. |
|
/L |
نمایش عملیات بدون اجرای واقعی تغییرات |
برای بررسی دستور پیش از اجرا مفید است. |
یکی از نکات مهم، تعداد تلاش مجدد پیشفرض Robocopy است. اگر فایل به دلیل قفل بودن یا خطای دسترسی کپی نشود، تعداد تلاشهای مجدد پیشفرض میتواند بسیار زیاد باشد. برای جلوگیری از معطلی طولانی میتوانید از /R:1 /W:1 استفاده کنید؛ البته اگر انتقال فایلهای مهم در اولویت است، تعداد تلاشها را متناسب با شرایط خود تنظیم کنید.
هشدار درباره /MIR : این پارامتر مقصد را با مبدأ آینهسازی میکند و فایلهایی را که در مقصد وجود دارند اما در مبدأ نیستند، حذف میکند. اگر مسیرها را اشتباه وارد کنید، ممکن است اطلاعات مهمی از بین بروند. پیش از اجرای چنین دستوری، با افزودن /L عملیات مورد انتظار را بررسی کنید و از اطلاعات مهم نسخه پشتیبان داشته باشید.
بهعنوان مثال، برای بررسی یک عملیات آینهسازی بدون اجرای تغییرات واقعی میتوانید از ساختار زیر استفاده کنید:
robocopy "C:Source" "D:Destination" /MIR /L
پس از بررسی گزارش، تنها در صورتی /L را حذف کنید که از مسیرها و نتیجه مورد انتظار کاملاً مطمئن هستید.
آیا Robocopy برای انتقال فایل بهتر از فایل اکسپلورر است؟
اگر روزانه تعداد زیادی فایل کوچک، پوشه پروژه یا فایلهای برنامهنویسی را جابهجا میکنید، Robocopy ارزش امتحان کردن دارد. امکان کپی چندرشتهای، ثبت گزارش و تعیین تعداد تلاش مجدد، آن را برای انتقالهای تکراری و خودکار مناسب میکند.
بااینحال، برای کپی معمولی چند فایل یا انتقال یک ویدیوی بزرگ، فایل اکسپلورر همچنان انتخاب سادهتری است. در آزمایشهای مطرحشده، افزایش تعداد رشتهها برای یک فایل حجیم مزیتی ایجاد نکرد؛ زیرا امکان تقسیم کار میان چند فایل مستقل وجود نداشت.
در نهایت، اگر هدف شما افزایش سرعت کپی در ویندوز ۱۱ است، ابتدا /MT:8 یا /MT:16 را برای پوشهای آزمایشی امتحان کنید. سپس با توجه به سرعت واقعی سیستم، میزان خطا و نوع فایلها تصمیم بگیرید. همیشه مسیر مبدأ و مقصد را بررسی کنید و برای دستورهای حذفکننده، از اجرای آزمایشی و نسخه پشتیبان غافل نشوید.
سادهگو