سؤال

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

لذلك أنا أتساءل عما إذا كان أي شخص يعرف ما إذا كان يمكن القيام بذلك باستخدام robocopy؟

هل كانت مفيدة؟

المحلول

ROBOCOPY %SOURCE_DIR% %TARGET_DIR% * /MIR

تصحيح

ROBOCOPY %SOURCE_DIR% %TARGET_DIR% * /MIR /XO

نصائح أخرى

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

بناء جملة Robocopy أمر غريب بعض الشيء ، لذلك قد ترغب في قراءة المزيد من هنا.

ربما تريد شيئًا كهذا:

RoboCopy.exe %sourceDir% %targetDir%\ *.* /xo

%sourceDir% - دليل المصدر الخاص بك

%targetDir% - الدليل المستهدف الخاص بك

*.* - الملفات الموجودة في الدليل المصدر لنسخها

/xo - استبعاد الملف في حالة وجود الوجهة بالفعل وأحدث.

تحرير ردا على التعليق

إذا كنت تقول أنك تريد إزالة الملفات من دليل الوجهة لم تعد موجودة في دليل المصدر ، فأعتقد أن المفتاح /purge هل هذا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top