دستور xcopy یک دستور Command Prompt است که برای کپی کردن یک یا چند فایل یا پوشه از یک مکان به مکان دیگر استفاده می شود.
با گزینههای فراوان و توانایی کپی کل فهرستها، شبیه فرمان کپی است، اما بسیار قدرتمندتر از آن. دستور Robocopy نیز مشابه است اما گزینه های بیشتری دارد.
در دسترس بودن فرمان Xcopy
این دستور از داخل Command Prompt در همه سیستم عامل های ویندوز از جمله Windows 10، Windows 8، Windows 7، Windows Vista، Windows XP، Windows 98 و غیره در دسترس است.
همچنین می توانید به دستور در MS-DOS به عنوان یک دستور DOS دسترسی داشته باشید.
نحو دستور Xcopy
برای دستور xcopy از دستور زیر استفاده کنید:
xcopy منبع [مقصد] [ /a] [ /b] [ /c] [ /d [ : تاریخ] [ /e] [ /f] [ /g] [ /h] [ /i] [/j ] [/k ] [/l ] [ /m ] [/n ] [/o ] [/p ] [/q ] [/r ] [/s ] [/t ] [/u ] [/v ] [/w ] [/x] [ /y] [ /-y] [ /z] [/exclude: file1 [+ file2][+ file3]…] [ /? ]
در دسترس بودن برخی از سوئیچ های فرمان xcopy و سایر دستورات دستوری ممکن است از سیستم عاملی به سیستم عامل دیگر متفاوت باشد. اگر مطمئن نیستید که چگونه دستور بالا یا جدول زیر را بخوانید، نحوه خواندن دستور دستور را بیاموزید.
گزینه های فرمان Xcopy | |
---|---|
مورد | شرح |
منبع | این فایل ها یا پوشه سطح بالایی را که می خواهید از آن کپی کنید مشخص می کند. منبع تنها پارامتر مورد نیاز است. اگر منبع دارای فاصله باشد، از نقل قول در اطراف منبع استفاده کنید. |
مقصد | این گزینه مکانی را مشخص می کند که فایل ها یا پوشه های منبع باید در آن کپی شوند. اگر مقصدی لیست نشده باشد، فایل ها یا پوشه ها در همان پوشه ای کپی می شوند که دستور xcopy را از آن اجرا می کنید. اگر دارای فاصله باشد، از نقل قول در اطراف مقصد استفاده کنید. |
/a | استفاده از این گزینه فقط فایلهای بایگانی موجود در منبع را کپی میکند. شما نمی توانید از /a و /m با هم استفاده کنید. |
/b | از این گزینه برای کپی کردن خود پیوند نمادین به جای هدف پیوند استفاده کنید. این گزینه برای اولین بار در ویندوز ویستا در دسترس بود. |
/c | این گزینه xcopy را مجبور می کند حتی اگر با خطا مواجه شود ادامه دهد. |
/d [ : تاریخ] | از دستور با گزینه /d و یک تاریخ خاص در قالب MM-DD-YYYY برای کپی کردن فایل های تغییر یافته در آن تاریخ یا بعد از آن استفاده کنید. همچنین میتوانید از این گزینه بدون تعیین تاریخ خاصی استفاده کنید تا فقط فایلهایی را در منبع کپی کنید که جدیدتر از همان فایلهایی هستند که قبلاً در مقصد وجود دارند. این هنگام استفاده از xcopy برای پشتیبانگیری معمولی از فایلها مفید است. |
/e | وقتی به تنهایی یا با /s استفاده می شود، این گزینه مانند /s است، اما پوشه های خالی را نیز در مقصد ایجاد می کند. منبع نیز خالی بود.گزینه /e همچنین می تواند همراه با گزینه /t استفاده شود تا دایرکتوری ها و زیر شاخه های خالی موجود در منبع را در ساختار دایرکتوری ایجاد شده در مقصد شامل شود. |
/f | این گزینه مسیر کامل و نام فایل هر دو فایل مبدأ و مقصد در حال کپی را نشان می دهد. |
/g | استفاده از xcopy با این گزینه به شما امکان می دهد فایل های رمزگذاری شده در منبع را در مقصدی کپی کنید که از رمزگذاری پشتیبانی نمی کند. این گزینه هنگام کپی کردن فایلها از درایو رمزگذاری شده EFS به درایو بدون رمزگذاری EFS کار نخواهد کرد. |
/h | دستور به طور پیشفرض فایلهای مخفی یا فایلهای سیستم را کپی نمیکند، اما در صورت استفاده از این گزینه کپی میکند. |
/i | از گزینه /i استفاده کنید تا xcopy را مجبور کنید که مقصد را یک دایرکتوری فرض کند.اگر از این گزینه استفاده نمیکنید و از منبعی کپی میکنید که یک فهرست یا گروهی از فایلها است و در مقصدی که وجود ندارد کپی میکنید، دستور xcopy از شما میخواهد که مقصد را یک فایل یا دایرکتوری وارد کنید. |
/j | این گزینه فایلها را بدون بافر کپی میکند، این ویژگی برای فایلهای بسیار بزرگ مفید است. این گزینه برای اولین بار در ویندوز 7 در دسترس بود. |
/k | از این گزینه هنگام کپی کردن فایل های فقط خواندنی برای حفظ ویژگی فایل در مقصد استفاده کنید. |
/l | از این گزینه برای نشان دادن لیستی از فایل ها و پوشه هایی که باید کپی شوند استفاده کنید… اما در واقع هیچ کپی برداری انجام نمی شود. گزینه /l در صورتی مفید است که در حال ساخت یک دستور پیچیده با چندین گزینه هستید و می خواهید ببینید که چگونه به صورت فرضی عمل می کند. |
/m | این گزینه مشابه گزینه /a است اما xcopy پس از کپی کردن فایل، ویژگی آرشیو را خاموش می کند. شما نمی توانید از /m و /a با هم استفاده کنید. |
/n | این گزینه با استفاده از نام فایل های کوتاه فایل ها و پوشه ها را در مقصد ایجاد می کند. این گزینه تنها زمانی مفید است که از دستور کپی فایلها در مقصدی استفاده میکنید که در درایوی فرمتشده به سیستم فایل قدیمیتری مانند FAT وجود دارد که از نام فایلهای طولانی پشتیبانی نمیکند. |
/o | اطلاعات مالکیت و فهرست کنترل دسترسی (ACL) را در فایل های نوشته شده در مقصد حفظ می کند. |
/p | هنگام استفاده از این گزینه، قبل از ایجاد هر فایل در مقصد از شما خواسته می شود. |
/q | نوعی مخالف گزینه /f است، سوئیچ /q، xcopy را در حالت "آرام" قرار می دهد، با پرش از روشن. نمایش صفحه نمایش هر فایل در حال کپی کردن. |
/r | از این گزینه برای بازنویسی فایلهای فقط خواندنی در مقصد استفاده کنید. اگر زمانی که میخواهید یک فایل فقط خواندنی را در مقصد بازنویسی کنید، از این گزینه استفاده نمیکنید، یک پیام «دسترسی ممنوع است» از شما خواسته میشود و فرمان متوقف میشود. |
/s | از این گزینه برای کپی کردن دایرکتوری ها، زیرشاخه ها و فایل های موجود در آنها، علاوه بر فایل های موجود در ریشه منبع استفاده کنید. پوشههای خالی دوباره ایجاد نمیشوند. |
/t | این گزینه دستور xcopy را مجبور می کند که یک ساختار دایرکتوری در مقصد ایجاد کند اما هیچ یک از فایل ها را کپی نکند. به عبارت دیگر، پوشه ها و زیرپوشه های موجود در منبع ایجاد می شوند اما هیچ فایلی وجود ندارد. پوشههای خالی ایجاد نمیشوند. |
/u | این گزینه فقط فایلهایی را در منبع کپی میکند که از قبل در مقصد هستند. |
/v | این گزینه هر فایلی را که نوشته شده است بر اساس اندازه آن تأیید می کند تا مطمئن شود که یکسان هستند. تأیید در دستور شروع ویندوز XP ساخته شده است، بنابراین این گزینه در نسخه های بعدی ویندوز هیچ کاری انجام نمی دهد و فقط برای سازگاری با فایل های قدیمی MS-DOS گنجانده شده است. |
/w | از گزینه /w برای ارائه پیام "زمانی که برای کپی کردن فایل(ها) آماده هستید، هر کلیدی را فشار دهید" استفاده کنید. پس از تأیید با فشار دادن کلید، دستور شروع به کپی کردن فایل ها طبق دستورالعمل می کند. این گزینه مشابه گزینه /p نیست که قبل از هر کپی فایل درخواست تأیید می کند. |
/x | این گزینه تنظیمات ممیزی فایل و اطلاعات فهرست کنترل دسترسی سیستم (SACL) را کپی می کند. وقتی از گزینه /x استفاده می کنید، به معنای /o است. |
/y | از این گزینه برای جلوگیری از درخواست دستور بازنویسی فایلها از منبعی که از قبل در مقصد وجود دارد، استفاده کنید. |
/-y | از این گزینه برای وادار کردن فرمان به شما در مورد بازنویسی فایل ها استفاده کنید. ممکن است وجود این گزینه عجیبی به نظر برسد زیرا این رفتار پیشفرض xcopy است، اما گزینه /y ممکن است در متغیر محیطی COPYCMD در برخی از رایانهها از پیش تنظیم شده باشد، که این گزینه را ضروری میکند. |
/z | این گزینه به فرمان xcopy اجازه می دهد تا با قطع اتصال شبکه، کپی فایل ها را با خیال راحت متوقف کند و پس از برقراری مجدد اتصال، کپی را از جایی که متوقف شده است از سر بگیرد. این گزینه همچنین درصد کپی شده برای هر فایل را در طول فرآیند کپی نشان می دهد. |
/exclude: file1 [ + file2][ + file3]… | این گزینه به شما امکان می دهد یک یا چند نام فایل حاوی لیستی از رشته های جستجو را مشخص کنید که می خواهید دستور برای تعیین فایل ها و/یا پوشه هایی که هنگام کپی از آن ها پرش می شود استفاده کند. |
/? | برای نشان دادن راهنمایی دقیق در مورد دستور از سوئیچ کمک با xcopy استفاده کنید. اجرای xcopy /? مانند استفاده از دستور help برای اجرای help xcopy است. |
دستور xcopy ویژگی بایگانی را به فایلهای مقصد اضافه میکند، مهم نیست که مشخصه در فایل در منبع روشن یا خاموش باشد.
نمونههای فرمان Xcopy
در زیر چندین مثال از نحوه استفاده از این دستور آورده شده است:
کپی فایل ها در یک پوشه جدید
xcopy C:\Files E:\Files /i
در مثال بالا، فایلهای موجود در فهرست منبع C:\Files به مقصد کپی میشوند، یک فهرست جدید در درایو E به نام Files.
هیچ دایرکتوری فرعی یا هیچ فایلی که در داخل آنها وجود دارد، کپی نمی شود زیرا از گزینه /s استفاده نشده است.
اسکریپت پشتیبان Xcopy
xcopy "C:\Important Files" D:\Backup /c /d /e /h /i /k /q /r /s /x /y
در این مثال، xcopy به عنوان یک راه حل پشتیبان طراحی شده است. اگر می خواهید از xcopy به جای نرم افزار پشتیبان گیری برای پشتیبان گیری از فایل های خود استفاده کنید، این را امتحان کنید. دستور را همانطور که در بالا نشان داده شده است در یک اسکریپت قرار دهید و آن را برای اجرای شبانه برنامه ریزی کنید.
همانطور که در بالا نشان داده شده است، از دستور برای کپی کردن همه فایلها و پوشههای [/s] جدیدتر از فایلهایی که قبلاً [/d] کپی شدهاند، از جمله پوشههای خالی [/e] و فایلهای مخفی [/h]، استفاده میشود. منبع C:\Important Files به مقصد D:\Backup که یک فهرست است. ما چند فایل فقط خواندنی داریم که می خواهیم در مقصد [/r] به روز نگه داریم و می خواهیم پس از کپی شدن [/k] آن ویژگی را حفظ کنیم.همچنین میخواهیم مطمئن شویم که تنظیمات مالکیت و ممیزی را در فایلهایی که [/x] کپی میکنیم، حفظ میکنیم. در نهایت، از آنجایی که ما xcopy را در یک اسکریپت اجرا میکنیم، نیازی به دیدن اطلاعاتی در مورد فایلها هنگام کپی شدن [/q] نداریم، نمیخواهیم از ما خواسته شود که هر کدام را بازنویسی کنیم [/y] و همچنین نمیخواهیم اگر با خطای [/c] مواجه شد، دستور متوقف شود.
کپی فایل ها و پوشه ها در شبکه
xcopy C:\Videos "\\SERVER\Media Backup" /f /j /s /w /z
در اینجا، از دستور برای کپی کردن همه فایلها، زیرپوشهها و فایلهای موجود در زیرپوشههای [/s] از منبع C:\Videos به پوشه مقصد Media Backup واقع در رایانه در شبکه استفاده میشود. نام سرور ما در حال کپی کردن برخی از فایلهای ویدیویی واقعاً بزرگ هستیم، بنابراین برای بهبود فرآیند کپی [/j] باید بافر غیرفعال شود، و از آنجایی که در حال کپی کردن از طریق شبکه هستیم، میخواهیم در صورت قطع اتصال شبکه، بتوانیم کپی را از سر بگیریم [/z]. از آنجایی که پارانوئید هستیم، میخواهیم از ما خواسته شود که فرآیند را قبل از اینکه واقعاً کاری [/w] انجام دهد، شروع کنیم، و همچنین میخواهیم جزئیات مربوط به فایلهایی که در حال کپی شدن [/f] کپی میشوند را ببینیم.
ساختار پوشه تکراری
xcopy C:\Client032 C:\Client033 /t /e
در این مثال پایانی، ما یک منبع پر از فایلها و پوشههای سازماندهی شده در C:\Client032 برای یک کلاینت داریم. ما قبلاً یک پوشه مقصد خالی، Client033، برای یک کلاینت جدید ایجاد کردهایم، اما نمیخواهیم هیچ فایلی کپی شود - فقط ساختار پوشه خالی [/t] تا سازماندهی و آماده شویم. ما چند پوشه خالی در C:\Client032 داریم که ممکن است برای کلاینت جدید اعمال شود، بنابراین میخواهیم مطمئن شویم که آنها نیز [/e] کپی میشوند.
خروجی گاهی طولانی فرمان xcopy را با استفاده از یک عملگر تغییر مسیر در یک فایل ذخیره کنید. با نحوه تغییر مسیر خروجی فرمان به یک فایل آشنا شوید یا برای نکات بیشتر، ترفندهای خط فرمان را بررسی کنید.
Xcopy & Xcopy32
در ویندوز 98 و ویندوز 95، دو نسخه از دستور xcopy موجود بود: xcopy و xcopy32. با این حال، دستور دوم هرگز قرار نبود مستقیماً اجرا شود.
هنگامی که xcopy را در ویندوز 95 یا 98 اجرا می کنید، یا نسخه اصلی 16 بیتی به طور خودکار اجرا می شود (در حالت MS-DOS) یا نسخه جدید 32 بیتی به طور خودکار اجرا می شود (در ویندوز).
برای واضح بودن، مهم نیست که چه نسخه ای از ویندوز یا MS-DOS دارید، همیشه دستور xcopy را اجرا کنید، نه xcopy32، حتی اگر در دسترس باشد. وقتی xcopy را اجرا میکنید، همیشه مناسبترین نسخه دستور را اجرا میکنید.
دستورهای مرتبط Xcopy
دستور xcopy از بسیاری جهات شبیه فرمان کپی است، اما با گزینههای بسیار بیشتر، مانند توانایی کپی پوشهها، کپی کردن هر فایل در زیر شاخهها، و حذف فایلها.
این دستور نیز بسیار شبیه دستور robocopy است با این تفاوت که robocopy انعطاف پذیری بیشتری نسبت به xcopy دارد.
دستور dir اغلب با xcopy برای بررسی پوشه ها و فایل ها در یک فهرست قبل از تکمیل دستور استفاده می شود.