الدليل النهائي لنسخ الملفات والمجلدات باستخدام Xcopy

الأداة Xcopy، التي تعني النسخ الموسع، هي أداة سطر الأوامر شهيرة لنسخ كميات ضخمة من البيانات في نظام Windows. بالمقارنة مع الأمر التقليدي copy، يحتوي Xcopy على ميزات وخيارات إضافية تمنحك تحكمًا أفضل عند نسخ أو نقل الملفات والمجلدات.

في هذا الدليل، ستتعلم كيفية استخدام Xcopy في سيناريوهات مختلفة لنسخ الملفات. ابتداءً من نسخ ملف واحد، إلى نسخ عدة مجلدات، وتطبيق تصفيات أو استبعادات، وأكثر. في النهاية، ستكتسب المعرفة اللازمة لاستخدام Xcopy في مهام نسخ الملفات اليومية.

لنبدأ!

المتطلبات

لمتابعة الأمثلة في هذا الدليل، ستحتاج إلى ما يلي.

  • A Windows (server or client) computer. Xcopy comes built-in to Windows, and you don’t need to download anything else. This guide will use Windows 10 Build 1909.
  • يعمل Xcopy في نافذة الأوامر أو PowerShell، ويفترض هذا المقال أنك قد فتحت بالفعل إحداهما.

فهم أمر Xcopy

Xcopy هو أداة سطر الأوامر، وهي متاحة كجزء من النظام ابتداءً من Windows 98. يمكن العثور على هذه الأداة تحت المجلد %WINDIR%\system32 بالاسم التنفيذي xcopy.exe.

بالمقارنة مع أمر copy في نظام Windows، يعتبر Xcopy أكثر كفاءة في نسخ الملفات والمجلدات. بالإضافة إلى ذلك، يحتوي Xcopy على المزيد من الخيارات التي تجعله أكثر قابلية للتخصيص وتتيح لك التحكم في سلوك نسخ الملفات.

الفوائد

هناك العديد من الفوائد أو المزايا في استخدام Xcopy التي ستتعلمها بينما تتقدم في هذا الدليل. ولكن بالأسفل هي بعض فوائد استخدام Xcopy.

  • عملية نسخ أسرع على مجموعات كبيرة من الملفات والمجلدات.
  • تبسيط تنفيذ التطبيقات.
  • يمكن تكرار هيكل المجلد الأصلي كما هو.
  • نسخ الملفات مع الاحتفاظ بصاحب الملف ومعلومات قائمة التحكم في الوصول (ACL).
  • نسخ واستبدال الملفات القابلة للقراءة فقط.
  • يمكن استبعاد الملفات بناءً على اسم الملف أو الامتداد أو المسار.
  • يمكن تحديد الملفات المحدثة، وهو مفيد للنسخ الاحتياطي التفاضلي.
  • تكامل واستخدام مع السيناريوهات.

القيود

على الرغم من روعة Xcopy، إلا أنه ليس بدون قيود. على الرغم من أن هذه القيود قد لا تكون عائقًا كبيرًا، فمن الجيد أن تعرف ما هي قبل الانغماس فيها.

  • لا يمكن نسخ الملفات المفتوحة.
  • لا يوجد دعم لخدمة نسخة الظل الصوتي لنظام التشغيل Windows (VSS). هذا النقص في الدعم يجعل Xcopy غير مناسب لنسخ أجزاء النظام التشغيل المباشرة.
  • خطأ في الذاكرة غير كافية عندما يتجاوز طول المسار بالإضافة إلى اسم الملف 254 حرفًا.

نسخ مرجع الصيغة

يتيح لك Xcopy أداء عمليات نسخ ملف ومجلد مختلفة. ولكن أولاً، ستحتاج إلى فهم بنية الأمر والخيارات الخاصة به. هناك العديد من الخيارات التي من شأنها تغيير كيفية عمل Xcopy. لمساعدتك في فهم هذه الخيارات، ستغطي الجداول التالية تفاصيلها بالتفصيل.

يشير التعيين الأول للمسار إلى الملف(الملفات) المصدر؛ يشير التعيين الثاني للمسار إلى الملف(الملفات) الوجهة.

xcopy [source] [destination] [options]
  • [source] – مسار الملف(الملفات) المراد نسخه (يقبل الرموز المتعددة). يجب عليك تحديد القرص والمسار والملفات التي ترغب في نسخها.
  • [destination] – مسار الملف(الملفات) الجديدة. إذا لم تحدد مسار الوجهة، فسيقوم الأمر بنسخ الملفات إلى نفس المسار كالمصدر.
  • [options] – يمكن أن تكون أي من الخيارات التالية في الجداول أدناه. يمكنك أيضًا عرض هذه الخيارات عن طريق تشغيل الأمر xcopy /? أو زيارة وثائق Xcopy عبر الإنترنت.

خيارات المصدر

Switch Explanation
/A Copy files that have the archive attribute.
/M Copy files with the archive attribute set, then switches off the archive attribute at the destination. Use this option when creating routine backups.
/H Copy hidden and system files and directories. The default value is N.
/D:mm-dd-yyyy Only copies that files with modification date on or after the given date. Without using this option, the command will copy only the files whose date/time is newer than the destination.
/U Only copies the files that already exists at the destination.
/S Copies folders and subfolders recursively excluding the empty one.
/E Copies folders and subfolders recursively including the empty one.
/EXCLUDE:file1[+file2][+file3]… Specify the text file(s) containing a list of strings to match absolute file paths to exclude.

خيارات الوجهة

Switch Explanation
/I If the destination does not exist, using this option assumes that the destination is a directory and creates it. If you omit this option, the command prompts to confirm if the destination is a directory or a file.
/R Overwrites read-only files.
/T Creates a recursive folder structure at the destination without copying the files. This option does not include copying empty folders. To include empty folders, use this option together with the /E option.
/K Preserves the file attributes during the copy. Otherwise, the command will reset read-only attributes.
/N Copies files using their short file names.
/O Copies files including ownership and access control list (ACL) information.
/X Copies files including file audit settings and ACL information (implies using /O).

خيارات النسخ

Switch Explanation
/W Prompts for a key press before the copy process can start.
/P Prompts (Y/N) before creating each file.
/Y Suppresses the confirmation to overwrite destination file if exists.
/-Y Prompts to confirm overwriting an existing destination file.
/V Verifies that the source and destination file sizes are identical.
/C Ignores errors and forces the command to continue copying.
/B Copies only the symbolic link but not the link target file.
/G Copies encrypted files to a destination that does not support encryption.
/J Copies files without using the buffer. This switch useful when copying very large files.
/Q Suppresses the display of file names while copying.
/F Displays the full source and destination file paths while copying.
/L Only displays which files to copy without copying them. This switch can be useful when testing Xcopy commands with multiple options to assess the expected result.
/Z Copies files in restartable mode. Using this option, the command gracefully stops copying files during network interruption. The copying will resume after re-estabslishing the network connection.

العمل مع Xcopy: أمثلة على الاستخدام

الآن بعد أن أصبحت مألوفًا ببنية Xcopy وخياراته، حان الوقت للبدء في استخدامه فعليًا من خلال دمج واحد أو أكثر من الخيارات معًا. ستكتشف العديد من السيناريوهات المختلفة في الأقسام التالية لاستخدام Xcopy في نسخ الملفات والمجلدات.

قائمة الملفات المراد نسخها

إذا كان لديك خادم ملفات يحتوي على كمية كبيرة من الملفات التي ترغب في نسخها، ربما إلى موقع احتياطي، فإن اختبار أمر النسخ الاحتياطي الخاص بك باستخدام أمر Xcopy سيكون مثاليًا. إحدى الحالات التي تحتاج فيها إلى اختبار Xcopy هي عندما تقوم بدمج خيارات Xcopy المتعددة.

باستخدام السويتش /L مع Xcopy، يمكنك محاكاة ما كان سيحدث عند إصدار الأمر عن طريق عرض قائمة بالملفات التي سيتم نسخها. بهذه الطريقة، يمكنك التحقق مما إذا كان الأمر سيقوم بنسخ جميع الملفات التي كنت تنوي نسخها.

XCOPY C:\Workarea\XCopyDemo C:\Workarea\XCopyDemoFolder /L

نسخ ملف واحد

أبسط عملية يمكنك القيام بها باستخدام Xcopy هي نسخ ملف من مصدر إلى وجهة دون استخدام أي خيارات. على سبيل المثال، سيقوم الأمر أدناه بنسخ ملف نصي إلى مجلد الوجهة، وسيكون اسم الملف هو نفسه.

XCOPY C:\Workarea\XCopyDemo\NewFile.txt C:\Workarea\XCopyDemoFolder

يمكنك أيضًا نسخ الملف المصدر وتغيير اسم الملف الوجهة عن طريق تشغيل الأمر أدناه.

XCOPY C:\Workarea\XCopyDemo\NewFile.txt C:\Workarea\XCopyDemoFolder\AnotherFile.txt

نسخ الملفات إلى مجلد جديد

باستخدام Xcopy، يمكنك نسخ الملفات وإنشاء مجلد الوجهة على الفور. للقيام بذلك، يجب إضافة الخيار /I إلى أمر Xcopy.

على سبيل المثال، يقوم الأمر أدناه بنسخ الملفات من مجلد C:\Workarea\Demo إلى مجلد D:\Workarea. إذا لم يكن مجلد الوجهة موجودًا، فإن Xcopy ينشئ مجلد الوجهة باستخدام الخيار /I.

XCOPY C:\Workarea\Demo D:\Workarea /I

النسخ الاحتياطي لجميع الملفات والمجلدات بشكل تكراري

بالإضافة إلى نسخ الملفات من مجلد إلى آخر، يتيح لك Xcopy أيضًا نسخ المجلدات والملفات بشكل تكراري. وهناك طريقتان يمكنك من خلالهما عمل نسخ تكراري – مع وبدون مجلدات فارغة.

لنسخ جميع الملفات والمجلدات مع تجاهل المجلدات الفارغة، أضف الخيار /S في نهاية أمر Xcopy، كما هو موضح أدناه.

XCOPY C: D: /S

من ناحية أخرى، لتضمين المجلدات الفارغة أثناء النسخ التكراري، أضف الخيار /E بدلاً من ذلك إلى الأمر.

XCOPY C: D: /E

تضمين الملفات الخفية والنظام

بشكل افتراضي، لا يتضمن Xcopy الملفات الخفية والنظام في عمليات النسخ. ولكن إذا كنت بحاجة لفرض Xcopy على تضمين الملفات الخفية والنظام، أضف التبديل /H إلى الأمر.

الأمر أدناه ينسخ جميع الملفات بشكل تكراري، بما في ذلك الملفات الخفية والنظام. يتجاهل هذا الأمر أيضًا الأخطاء، ويقوم بإنشاء مجلدات الوجهة، ويستبدل الملفات الموجودة بالفعل.

XCOPY C:\Workarea\Documents D:\Workarea\Documents /S /H /C /Y

المحافظة على سمة “للقراءة فقط” للملف

سمة أخرى يمكن لـ Xcopy التعامل معها والمحافظة عليها هي سمة “للقراءة فقط” للملف. بشكل افتراضي، عندما ينسخ Xcopy ملفًا للقراءة فقط، يقوم بإزالة سمة القراءة فقط من الملف في الوجهة. لتوقيف Xcopy عن إزالة سمة القراءة فقط، أضف التبديل /K إلى الأمر.

على سبيل المثال، يقوم الأمر أدناه بنسخ ملف للقراءة فقط إلى موقع آخر، والملف الناتج في الموقع الجديد سيظل له سمة “للقراءة فقط”. سيقوم هذا الأمر أيضًا بالكتابة فوق الملف الوجهة إذا كان الملف موجودًا.

XCOPY C:\Workarea\XCopyDemo\NewFile.txt D:\Workarea /I /K /Y

كنتيجة جانبية للمحافظة على الملف كـ “للقراءة فقط”، لا يمكن لـ Xcopy كتابة نفس الملف في عمليات النسخ المستقبلية. ولكن يمكنك إجبار Xcopy على كتابة الملفات “للقراءة فقط” عن طريق إضافة التبديل /R.

XCOPY C:\Workarea\XCopyDemo\NewFile.txt D:\Workarea /K /R /Y

تصفية الملفات للنسخ

فرض أن هناك عدة ملفات في مجلد المصدر والمجلدات الفرعية التي تريد نسخها. يسمح لك أمر Xcopy بإدخال بادئات كاحتمال لتصفية الملفات التي ترغب في نسخها.

على سبيل المثال، يقوم الأمر أدناه بنسخ الملفات فقط مع امتداد .cs بشكل تكراري من جذر القرص C: إلى جذر القرص E:. سيتجاهل هذا الأمر أيضًا الأخطاء ويستبدل الملفات الموجودة بدون طلب تأكيد.

XCOPY C:\*.cs E:\ /S /C /Y

استبعاد الملفات والمجلدات من النسخ

A powerful feature of Xcopy is its ability to exclude files from the copy process. To use this feature, you can leverage the /EXCLUDE switch. This switch accepts the names of the file(s) that contain the exclusion lists.

أولاً، تحتاج إلى إنشاء ملف أو الحصول على ملف يحتوي على قائمة استبعاد. على سبيل المثال، يمكنك الحصول على ملف نصي يسمى Exclude.txt والذي يحتوي على الإدخالات التالية. كما يمكن أن يحتوي ملف الاستبعاد على أسماء ملفات محددة، وامتدادات ملفات ومجلدات كإدخالات.

xyz.txt
Exclude.txt
.pdf
.png
\exclude\

لتشغيل Xcopy مع الاستبعادات، قم بتشغيل الأمر أدناه وحدد المسار الكامل لملف الاستبعاد في مفتاح /EXCLUDE. يستخدم هذا الأمر ملف C:\Workarea\XCopyDemo\Exclude.txt.

XCOPY C:\Workarea\XCopyDemo C:\Workarea\Backup /S /Y /Exclude:C:\Workarea\XCopyDemo\Exclude.txt

النتيجة؟ يتم تشغيل Xcopy لنسخ الملفات ولكنه يتجاوز الملفات xyz.txt، Exclude.txt، جميع الملفات ذات الامتداد .pdf و .png، وجميع الملفات تحت المجلد exclude.

إجراء نسخة تفاضلية

عندما تحتاج إلى نسخ الملفات من موقع إلى آخر، يتيح لك Xcopy خيارًا يتيح لك إجراء نسخة احتياطية تفاضلية. بدلاً من نسخ جميع الملفات، تقوم النسخة التفاضلية فقط بنسخ الملفات التي تم تعديل تاريخها في أو بعد تاريخ تحديد بواسطة مفتاح /D:m-d-y.

على سبيل المثال، لنسخ الملفات التي تم تعديل تاريخها في أو بعد 01 أبريل 2021، قم بتشغيل الأمر التالي. بالإضافة إلى ذلك، يقوم هذا الأمر بنسخ متكررة، وتجاهل الأخطاء، واستبدال الملفات الموجودة في الوجهة.

XCOPY C:\Workarea\XCopyDemo C:\Workarea\Backup /D:04-01-2021 /S /C /Y

إذا لم تحدد تاريخًا باستخدام الخيار /D ، فسيقوم Xcopy بنسخ الملفات المصدرية التي هي أحدث من الملفات الموجودة في الوجهة فقط.

نسخ الملفات استنادًا إلى سمة الأرشيف

عادةً ما تقوم برامج النسخ الاحتياطي بإزالة سمة الأرشيف من الملف بعد عملية النسخ الاحتياطي. بعد تعديل الملف (أي تحرير وحفظ) ، يقوم Windows تلقائيًا بإعادة تعيين سمة الأرشيف للملفات.

إذا قمت بإنشاء سيناريو لنسخ الملفات باستخدام Xcopy ، فيمكنك استخدام سمة الأرشيف لتحديد ما إذا كان يجب نسخ الملف أم إجراء نسخ احتياطي له.

لنسخ الملفات بوجود سمة الأرشيف ، يمكنك الاستفادة من مفاتيح التبديل /A و /M. الخيار الذي يجب استخدامه يعتمد على ما إذا كنت ترغب في الحفاظ على سمة الأرشيف للملف أم لا.

يقوم الأمر التالي بنسخ متكرر للملفات ذات سمة الأرشيف فقط. سيحتفظ الملفات الوجهة بسمة الأرشيف بعد النسخ بفضل مفتاح التبديل /A.

XCOPY C:\Workarea\Demo D:\Workarea\Test /A /S /Y

على العكس من ذلك، لإزالة سمة الأرشيف للملف المصدر بعد النسخ إلى الوجهة ، قم بتحديد مفتاح التبديل /M بدلاً من ذلك.

XCOPY C:\Workarea\Demo D:\Workarea\Test /M /S /Y

الاحتفاظ بمعلومات مالك الملف وقائمة التحكم في الوصول

تخيل إنشاء نسخة احتياطية لمجلد ملفات الملف الشخصي بأكمله. قد تكون لكل ملف مالكون مختلفون أو أذونات فريدة. إذا كنت بحاجة إلى استعادة تلك الملفات، فسترغب في الاحتفاظ بنفس المالكين والأذونات سليمة.

بهذه الطريقة، سيبدو العملية بأكملها بلا عوائق، وسيظل المستخدمون لديهم نفس الوصول إلى الملفات الذين كانوا يمتلكونه قبل ذلك. ولكن أولاً، عليك التأكد من أنك تقوم بنسخ تلك الملفات مع الاحتفاظ بالمالكين والوصول الحاليين.

لنسخ الملفات والاحتفاظ بمعلومات المالك وACL، أضف المعلمة /O إلى أمر xcopy كما هو موضح أدناه.

XCOPY C:\Workarea D:\Work /O /I /Y

بالإضافة إلى الاحتفاظ بمعلومات المالك وACL، يمكنك أيضًا تضمين إعدادات التدقيق للملفات. يمكن أن يكون تضمين إعدادات التدقيق مفيدًا إذا كانت منظمتك تطبق كائنات سياسة المجموعة (GPO) لتدقيق الملفات.

لتضمين إعدادات تدقيق الملفات عند نسخ الملفات باستخدام Xcopy، استخدم مفتاح التبديل /X. يعني مفتاح التبديل /X أيضًا مفتاح /O، لذا لا داعي لاستخدام كلا المفاتيح في نفس الوقت.

XCOPY C:\Workarea D:\Work /X /I /Y

نسخ الملفات والمجلدات عبر الشبكة

لا يمكن لـ Xcopy فقط نسخ الملفات بين مواقع على نفس الأقراص أو أقراص مختلفة، ولكن يمكنه أيضًا نسخ الملفات عبر الشبكة. للأسف، لا يمكن الاعتماد دائمًا على نسخ الملفات عبر الشبكة. قد تعاني اتصالات الشبكة من انقطاعات قصيرة، وفي بعض الحالات، فقدان تام للاتصال.

لحسن الحظ، يمكنك تشغيل Xcopy في وضع قابل لإعادة التشغيل. وهذا يعني أنه حتى إذا توقف تقدم النسخ بسبب خطأ في الشبكة، يمكن استئناف النسخ بعد إعادة تأسيس اتصال الشبكة. لتشغيل Xcopy في وضع الإعادة التشغيل، ستحتاج إلى إضافة التبديل /Z إلى الأمر.

على سبيل المثال، يقوم الأمر أدناه بنسخ الملفات التابعة للمجلد C:\Workarea بشكل متكرر إلى موقع على الشبكة. يجعل المعلمة /Z Xcopy يعمل في وضع قابل لإعادة التشغيل.

XCOPY C:\Workarea "\\SERVER01\Backup" /S /Z

باستخدام التبديل /Z، يعرض Xcopy أيضًا تقدم نسخ الملف بالنسبة المئوية.

نسخ الملفات باستخدام إدخال/إخراج غير مخزن

يتوافق إدخال/إخراج غير مخزن مع كيفية تخزين النظام التشغيل قراءات وكتابات القرص في ذاكرة التخزين المؤقت لنظام الملفات. بينما يسرع التخزين المؤقت القراءات والكتابات التالية إلى نفس الملف، إلا أن ذلك يأتي بتكلفة. نتيجة لذلك، يعتبر إدخال/إخراج غير مخزن (أو نسخ ملف خام) الطريقة المفضلة لنسخ ملف كبير.

تقلل طريقة النسخ هذه من التكاليف الزائدة لذاكرة التخزين المؤقتة لنظام الملفات وتمنع تفريغ ذاكرة التخزين المؤقتة بكميات كبيرة من بيانات الملفات بسهولة.

لنسخ الملفات الكبيرة باستخدام I/O غير المخزنة في الذاكرة، يمكنك إضافة مفتاح الأمر /J لأمر Xcopy، كما هو موضح أدناه.

XCOPY C:\Workarea\abc.mp4 D:\Temp /I /J

نسخ الملفات مع التحقق

مثل أي مهمة أخرى، قد لا تعود عملية نسخ الملفات بنسبة نجاح 100٪ دائمًا. قد تتلف بعض الملفات أثناء النقل حتى إذا لم يكن هناك أخطاء واضحة.

باستخدام Xcopy، يمكنك استخدام مفتاح الأمر /V للتحقق من أن الملفات المصدر والوجهة متطابقة بناءً على حجمها بعد النسخ. إذا كانت الملفات المصدر والوجهة متطابقة، فإن ذلك يشير إلى نجاح النسخة وسلامة الملف.

ينسخ الأمر أدناه جميع الملفات من C:\Workarea\XCopyDemo إلى C:\Workarea\Backup ويتحقق من كل ملف باستخدام مفتاح الأمر /V. مفتاح الأمر /F يعرض المسار الكامل للملفات المصدر والوجهة.

XCOPY C:\Workarea\XCopyDemo C:\Workarea\Backup /F /H /S /X /V

نسخ الملفات المشفرة

يدعم Xcopy أيضًا نسخ الملفات المشفرة إلى وجهات لا تدعم التشفير. باستخدام مفتاح الأمر /G، يقوم Xcopy بنسخ الملفات المصدر المشفرة وإنشاء ملفات وجهة مفككة.

تعتبر هذه الطريقة المفيدة، خاصة عند عمل نسخ احتياطية للملفات المشفرة إلى مشاركات الشبكة أو وحدات التخزين غير المشفرة لنظام الملفات (EFS).

Xcopy C:\Workarea\XCOPYDemo C:\Workarea\XCOPYDemoFolder /S /G

نسخ هياكل المجلدات

في بعض الحالات، قد يتطلب النصوص الاحتياطية أو البرامج منك تقديم الوجهة قبل نسخ الملفات من المصدر. عند الحاجة، يمكنك استخدام Xcopy لتكرار هيكل مجلد المصدر بدون المحتوى.

للقيام بذلك، قم بتشغيل أمر Xcopy مع مفتاح /T. باستخدام المفتاح /T، سيتسبب Xcopy في نسخ هيكل شجرة الدليل فقط إلى الوجهة ولكنه يتجاهل المجلدات الفارغة.

يمكنك أيضًا إضافة المفتاح /E إلى الأمر لتضمين المجلدات الفارغة، كما هو موضح في الأمر المثالي أدناه.

Xcopy C:\Workarea\XCOPYDemo C:\Workarea\XCOPYDemoFolder /T /E

أخطاء شائعة

إذا كان هناك شيء يمكن أن يسير بشكل خاطئ، فمن المحتمل أن يحدث ذلك. نفس الحالة عند نسخ الملفات بغض النظر عن الحجم. فيما يلي أخطاء Xcopy الشائعة التي قد تواجهها.

عدد غير صالح من المعلمات

تحدث هذه الخطأ عادةً عندما يحتوي الأمر الذي أدخلته على أحرف مسافة فيه. لتجنب هذا الخطأ، عند كتابة مسار المصدر أو الوجهة الذي يحتوي على أحرف مسافة، يجب أن تحيط بالمسار بعلامات اقتباس مزدوجة.

على سبيل المثال، إذا كان المسار هو C:\Documents and Settings، أدخل المسار على أنه “C:\Documents and Settings”.

لا يمكن أداء نسخة دورية

يحدث هذا الخطأ إذا كان المجلد المصدر الذي تقوم بنسخه يتضمن أيضًا المجلد الهدف. في هذه الحالة، سيدخل Xcopy في حلقة، مما يتسبب في خطأ. عند استخدام Xcopy، يجب أن تكون الوجهة مجلدًا أو قرصًا مستقلًا تمامًا إذا كنت تقوم بنسخ جميع المجلدات والمجلدات الفرعية.

خطأ تحليل

يحدث هذا الخطأ عندما تكتب بناءً خاطئًا أو غير صالح في الأمر. على سبيل المثال، قد تواجه هذا الخطأ عندما تقوم بتحديد مسارك بين علامتي اقتباس ولكن تفتقر إلى العلامات الختامية.

على سبيل المثال، الأمر أدناه يحتوي على علامة اقتباس مزدوجة ختامية مفقودة في مسار الوجهة.

Xcopy C:\Workarea "C:\Workarea\XCopy Demo /S /I /E /Y

رموز الخروج

تعيد Xcopy رمز خروج للعملية، يمكنك استخدامه لتحديد ما إذا كانت العملية ناجحة. رموز الخروج مفيدة، خاصة إذا قامت مهمتك أو سكريبت باتخاذ إجراءات استنادًا إلى الرمز الخروج الذي تتلقاه.

ستقوم قذيفة الأوامر بحفظ رموز الخروج في المتغير %ErrorLevel%. يمكن لكودك بعد ذلك فحص قيمة هذا المتغير لتحديد نتيجة عملية Xcopy.

أدناه جدول يقوم بتسجيل جميع رموز خروج Xcopy.

Exit Code Purpose
0 This exit code means that there were no errors.
1 This exit code means that Xcopy did not find any files to copy.
2 This exit code means that the Xcopy was terminated by pressing CTRL+C.
4 This exit code means that an initialization error happened either because of insufficient memory or disk space or because you’ve entered invalid syntax.
5 This exit code means that there was a disk write error.

البرمجة باستخدام Xcopy

بجانب استخدام Xcopy بشكل تفاعلي، يمكنك الاستفادة منه بشكل أفضل إذا استخدمته لتتميز في المهام مع السكربتات. فيما يلي بعض الأمثلة التي توضح كيف يمكنك استخدام Xcopy في السكربتات.

نص الدفعة Xcopy لنسخ البيانات مع معالجة الأخطاء

يقوم هذا السكربت بنسخ جميع الملفات بشكل تكراري مع منطق معالجة الأخطاء. وبناءً على الخطأ أو رمز الخروج، يعيد السكربت رسالة تظهر سبب الخطأ.

لإنشاء ملف الدفعة، افتح محرر نص أو كود بالاختيار الخاص بك، انسخ الكود أدناه، الصقه في محررك، واحفظ الملف باسم copycomplete.bat.

@echo off
rem This batch file copies all source
rem files in all directories and sub-directories from the source
rem path (%1) to the destination path (%2)

xcopy %1 %2 /s /e

if errorlevel 4 goto lowmemory
if errorlevel 2 goto abort
if errorlevel 0 goto exit

:lowmemory
echo Insufficient memory to copy files or
echo invalid drive or command-line syntax.
goto exit

:abort
echo You pressed CTRL+C keys due to which the copy operation has been aborted.
goto exit

:exit

ثم، لتشغيل السكربت، قم بتحديث اسمه في سطر الأوامر أو باورشيل، تليه مجلدات المصدر والوجهة.

pycomplete.bat xcopydemo xcopydemofolder
Running an Xcopy batch file

Xcopy نسخ دفعي لنقل البيانات

لا يحتوي Xcopy على وظيفة مدمجة لنقل الملفات والمجلدات من المصدر إلى الوجهة. ولكن، كحل بديل، يمكنك إنشاء سكربت يقوم أولاً بنسخ الملفات باستخدام Xcopy ثم يحذف الملفات من المصدر.

الكود أدناه سينسخ الملفات إلى الوجهة. وإذا كانت عملية النسخ ناجحة، فسيقوم السكربت بحذف الملفات في المصدر. انسخ الكود أدناه واحفظه في ملف جديد يسمى movefiles.bat.

Rem Batch file to move files

Xcopy /D /V %1 %2

Rem If the Xcopy process is successful (0), then delete the files at the source.
if errorlevel 0 (
echo Xcopy process completed successfully
del /Q %1
exit /B
)

Rem Errorlevel is not 0
echo The copy process has failed.

بعد ذلك، لتنفيذ ملف دفعي movefiles.bat، استدع اسمه في موجه الأوامر أو PowerShell متبوعًا بمسارات المصدر والوجهة، كما فعلت في المثال السابق.

movefiles.bat xcopydemo xcopydemofolder

خلاصة

إذا كان عملك يتضمن نسخ الملفات بكميات كبيرة أو إنشاء نسخ احتياطية للملفات، فإن Xcopy هو أداة ممتازة لتسهيل عملك. يقدم Xcopy نتائج نسخ ملفات دقيقة وسريعة مع العديد من الخيارات لتخصيص سلوكه لتلبية متطلباتك.

Source:
https://adamtheautomator.com/xcopy/