اذهب الي المحتوي
أوفيسنا

الردود الموصى بها

قام بنشر

السلام عليكم ورحمة الله وبركاتة

يوجد بالمنتدى الكثير الكثير من الأمثلة على أخذ نسخه احتياطية

بعدة أفكار  ولو تتبعنا قليلا لوجدنا ان في الاغلب الاعم توجد مشاركة او بصمة للاستاذ ابو خليل

ولكن للاسف احزنني كثيرا ان اغلب الامثلة مبعثرة ولم يقم احد بتنقيحها ووضعها للاستخدام الجاهز

فأتمنى من استاذي ابو خليل انشاء موضوع خاص بأمثلته ووضعها جميعا في نفس الموضوع

مع شرح كل مثال ومميزاته وكيفية عمله

الآن أتي لما احتاجه

هذا المثال هو للاستاذ ابو خليل ويقوم

بأخذ نسخه احتياطية من قاعدة بيانات يتم اختيار مسارها من الجدول حيث تم تخزين المسار به مسبقا

وبالصيغة المختاره ايضا والمدة المحدده

لكن توجد مشكلة في المثال

بحيث ان اخذ النسخه وضغطها بملف بصيغة  winrar  وصيغة winzip لا تفتح وتظهر رسالة بأن الارشيف معطوب او رسالة مشابها لها

المطلوب

تعديل مشكلة نسخة winrar  و winzip

ايضا مطلوب الاحتفاظ بأخر ثلاث نسخ في مجلد النسخ الاحتياطي وحذف المتبقي

يوجد ايضا مثال للاستاذ ابو خليل بالنسبه لحذف النسخ  ولكن لم أتمكن من تطبيقه

المرفق x  هو المثال المطلوب التعديل عليه

المرفق db  توجد به طريقة حذف النسخ ولكنها بحسب اخر ثلاثة ايام والمطلوب حذف اقدم النسخ والاحتفاظ فقط بأخر ثلاث نسخ

 

x.rar

db.rar

قام بنشر

السلام عليكم

اقتباس

المرفق db  توجد به طريقة حذف النسخ ولكنها بحسب اخر ثلاثة ايام والمطلوب حذف اقدم النسخ والاحتفاظ فقط بأخر ثلاث نسخ

صحيح تفحص التاريخ  وآخر ثلاثة ايام  غير عملي فقد يتوقف العمل في البرنامج اكثر من ذلك وحينها يتم حذف جميع النسخ

رغم اننا في المثال اخذنا الحيطة باخذ نسخة عند الفتح  ، يبقى المسألة محتملة المخاطرة

لذا بحثت في المنتديات المتخصصة وخرجت بهذا الكود الجميل الذي يحقق المطلوب بكل كفاءة :

Sub DeleteOldFiles()
    Dim fso As New FileSystemObject
    Dim fil As File
    Dim oldfile As File
    Dim BackUpPath As String 'This is the FOLDER where your backups are stored

    Do Until fso.GetFolder(BackUpPath).Files.Count < 4
        For Each fil In fso.GetFolder(BackUpPath).Files
            'Checks to see if this file is older than the oldest file thus far
            If oldfile Is Nothing Then Set oldfile = fil
            If oldfile.DateLastModified > fil.DateLastModified Then Set oldfile = fil
        Next fil
        fso.DeleteFile oldfile, True
        Set oldfile = Nothing
    Loop

End Sub

هذا الكود يتطلب تثبيت مكتبة   microsoft Script Runtime

  • Like 2
قام بنشر (معدل)
منذ ساعه, ابوخليل said:

السلام عليكم

صحيح تفحص التاريخ  وآخر ثلاثة ايام  غير عملي فقد يتوقف العمل في البرنامج اكثر من ذلك وحينها يتم حذف جميع النسخ

رغم اننا في المثال اخذنا الحيطة باخذ نسخة عند الفتح  ، يبقى المسألة محتملة المخاطرة

لذا بحثت في المنتديات المتخصصة وخرجت بهذا الكود الجميل الذي يحقق المطلوب بكل كفاءة :


Sub DeleteOldFiles()
    Dim fso As New FileSystemObject
    Dim fil As File
    Dim oldfile As File
    Dim BackUpPath As String 'This is the FOLDER where your backups are stored

    Do Until fso.GetFolder(BackUpPath).Files.Count < 4
        For Each fil In fso.GetFolder(BackUpPath).Files
            'Checks to see if this file is older than the oldest file thus far
            If oldfile Is Nothing Then Set oldfile = fil
            If oldfile.DateLastModified > fil.DateLastModified Then Set oldfile = fil
        Next fil
        fso.DeleteFile oldfile, True
        Set oldfile = Nothing
    Loop

End Sub

هذا الكود يتطلب تثبيت مكتبة   microsoft Script Runtime

الله يعطيك العافية استاذ

لم تنجح محاولاتي في توظيف الكود بالشكل الصحيح

امل التعديل على المرفق x بالمشاركة الأولى

تم تعديل بواسطه kaser906
قام بنشر
7 ساعات مضت, ابوخليل said:

تفضل

لاحظ انه يحذف جميع الملفات ويبقي على أحدث 3 ملفات فقط 

x.rar

شكرا لك استاذ

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information