اگر در ویندوز مرتباً فایلها را بین پوشههای مختلف، هارد اکسترنال یا کامپیوترهای موجود در شبکه جابهجا میکنید، ابزار داخلی Robocopy میتواند این کار را خودکار کند. این ابزار به نصب نرمافزار جانبی نیاز ندارد و از طریق خط فرمان اجرا میشود؛ بنابراین میتوانید بدون باز کردن مکرر پنجره مدیریت فایل، فایلها و پوشهها را کپی کنید، خطاهای انتقال را مدیریت کنید و حتی پوشه مقصد را با مبدأ همگامسازی کنید.
Robocopy در ویندوز چیست و چه کاربردی دارد؟
Robocopy مخفف Robust File Copy است و یکی از ابزارهای داخلی ویندوز برای کپی مطمئن فایلها و پوشهها محسوب میشود. برخلاف کپی معمولی در محیط گرافیکی، این ابزار گزینههایی برای انتقال پوشههای تودرتو، ادامه کپی پس از قطع ارتباط و تکرار عملیات ناموفق دارد.
از کاربردهای مهم Robocopy میتوان به این موارد اشاره کرد:
- تهیه نسخه پشتیبان از فایلهای مهم روی هارد اکسترنال.
- انتقال حجم زیادی از اطلاعات بین دو درایو.
- کپی فایلها به پوشه اشتراکی یک کامپیوتر دیگر در شبکه.
- همگامسازی پوشه مبدأ و مقصد با اجرای یک دستور یا اسکریپت.
- ثبت گزارش عملیات برای بررسی خطاهای احتمالی.
مزیت مهم این ابزار آن است که برای کارهای ساده به برنامهای دائماً در حال اجرا نیاز ندارید. البته خود Robocopy رابط گرافیکی ندارد و برای استفاده از قابلیتهای پیشرفته آن باید با دستورها و پارامترهایش آشنا باشید.
آموزش استفاده از Robocopy برای کپی و پشتیبانگیری
برای اجرای Robocopy در ویندوز ۱۰ یا ویندوز ۱۱، از منوی استارت عبارت cmd را جستوجو کنید و Command Prompt را باز کنید. برای کپی معمولی فایلها، به مسیر پوشه مبدأ و مقصد نیاز دارید.
به عنوان مثال، برای کپی فایلهای پوشه C:Data به پوشه E:Backup از این دستور استفاده کنید:
robocopy "C:Data" "E:Backup" /E
پارامتر /E باعث میشود زیرپوشهها، حتی زیرپوشههای خالی، نیز کپی شوند. اگر فقط میخواهید فایلهای داخل یک پوشه بدون زیرپوشهها کپی شوند، میتوانید این پارامتر را حذف کنید.
برای انتقالهای طولانی یا کپی از مسیرهای شبکه، بهتر است از گزینههای مدیریت خطا هم استفاده کنید:
robocopy "C:Data" "E:Backup" /E /Z /R:3 /W:5
در این دستور:
- /Z حالت انتقال قابل ادامه را فعال میکند تا پس از قطع ارتباط، انتقال فایل بتواند از سر گرفته شود.
- /R:3 تعداد تلاش مجدد برای کپی فایل ناموفق را به سه بار محدود میکند.
- /W:5 فاصله بین تلاشهای مجدد را پنج ثانیه قرار میدهد.
Robocopy بهطور پیشفرض در برخی شرایط تعداد زیادی تلاش مجدد انجام میدهد؛ بنابراین تعیین /R و /W میتواند از طولانی شدن غیرضروری عملیات جلوگیری کند. همچنین میتوانید با گزینه /LOG گزارش اجرای دستور را در یک فایل ذخیره کنید. پوشه مربوط به گزارش باید از قبل وجود داشته باشد.
همگامسازی خودکار پوشهها با Robocopy و پوشه شبکه
اگر میخواهید فایلهای یک کامپیوتر در پوشه اشتراکی کامپیوتر دیگری کپی شوند، ابتدا باید اشتراکگذاری شبکه را روی سیستم مقصد فعال کنید و برای حساب کاربری مورد استفاده مجوزهای لازم را در نظر بگیرید. سپس مسیر شبکه پوشه را به شکل زیر به دست آورید:
\192.168.0.106Robosync
در این مثال، آدرس IP و نام پوشه صرفاً نمونه هستند و باید با مشخصات شبکه خودتان جایگزین شوند. برای کپی پوشه C:Data به مقصد شبکه، دستور زیر را اجرا کنید:
robocopy "C:Data" "\192.168.0.106Robosync" /E /Z /R:3 /W:5
این دستور فایلها و زیرپوشهها را به مقصد منتقل میکند؛ اما بهتنهایی یک سامانه همگامسازی دائمی نیست. اگر فایلی را از مبدأ حذف کنید، اجرای دوباره این دستور آن فایل را از مقصد پاک نمیکند. همچنین تغییرات بهصورت لحظهای پایش نمیشوند و برای اجرای مجدد باید دستور را دوباره اجرا کنید یا آن را با زمانبند ویندوز خودکار کنید.
برای همگامسازی یکطرفهای که تغییرات و حذفهای مبدأ را نیز در مقصد اعمال کند، پارامتر /MIR قابل استفاده است:
robocopy "C:Data" "\192.168.0.106Robosync" /MIR /Z /R:3 /W:5
هشدار مهم: پارامتر /MIR میتواند فایلها و پوشههای موجود در مقصد را که در مبدأ وجود ندارند حذف کند. قبل از استفاده، مسیر مبدأ و مقصد را با دقت بررسی کنید و ابتدا دستور را روی پوشههای آزمایشی اجرا کنید. این روش همچنین یک همگامسازی یکطرفه است؛ حذف یا تغییر فایل در مقصد بهطور خودکار به مبدأ برگردانده نمیشود.
اجرای خودکار Robocopy در ویندوز با Task Scheduler
اگر نمیخواهید هر بار دستور را دستی اجرا کنید، میتوانید آن را در یک فایل دستهای ذخیره کنید و با زمانبند ویندوز بهصورت خودکار اجرا کنید. این روش برای پشتیبانگیری در زمان ورود به ویندوز یا در ساعتهای مشخص مناسب است؛ البته برخلاف ابزارهای پایش پوشه، تغییرات را بهصورت لحظهای تشخیص نمیدهد.
برای ساخت فایل، Notepad را باز کنید و دستور زیر را در آن قرار دهید:
@echo off
robocopy "C:Data" "E:Backup" /E /Z /R:3 /W:5 /LOG+:"C:BackupLogsbackup.log"
در این مثال باید پوشه C:BackupLogs را از قبل بسازید. سپس فایل را با پسوند .bat ذخیره کنید؛ به عنوان مثال backup.bat. اگر میخواهید حذفهای مبدأ نیز در مقصد اعمال شوند، میتوانید /E را با /MIR جایگزین کنید؛ اما فقط زمانی که از حذف فایلهای اضافی مقصد مطمئن هستید.
برای تنظیم اجرای زمانبندیشده، در منوی استارت عبارت Task Scheduler را جستوجو و برنامه را باز کنید. سپس یک وظیفه جدید بسازید و فایل دستهای را بهعنوان برنامه اجرایی انتخاب کنید.
Task Scheduler > Create Basic Task
زمانبند وظایف > ایجاد وظیفه اصلی
در بخش زمانبندی میتوانید اجرای روزانه یا هنگام ورود به ویندوز را انتخاب کنید. در بخش اجرای برنامه، مسیر کامل فایل backup.bat را وارد کنید. برای پشتیبانگیری روی درایو اکسترنال، توجه داشته باشید که درایو باید هنگام اجرا متصل و در دسترس باشد.
اگر هدفتان پایش دائمی تغییرات یک پوشه و انتقال سریع آنهاست، Robocopy بهتنهایی این کار را انجام نمیدهد. برای چنین کاری باید از اسکریپتی استفاده کنید که تغییرات را پایش و در زمان مناسب Robocopy را اجرا کند، یا سراغ ابزارهای همگامسازی اختصاصی بروید.
سادهگو