إعـــــــلان

تقليص
لا يوجد إعلان حتى الآن.

الدرس 3 █▓▒░ دورة كتابة الملفات الدفعية : التعامل مع الملفات و المجلدات - الحزء الأول

تقليص
هذا الموضوع مغلق.
X
X
 
  • تصفية - فلترة
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة

  • الدرس 3 █▓▒░ دورة كتابة الملفات الدفعية : التعامل مع الملفات و المجلدات - الحزء الأول

    [frame="20 85"]

    الدرس الثالث : التعامل مع الملفات والمجلدات الأوامر cd,pushd,copy,move,xcopy
    ليكن لدينا مجلداً على القرص c اسمه Syria و يحوي مجلدين آخرين داخله أحدهما اسمه Damascus و الآخر اسمه Aleppo
    عندئذِ فإن مسار المجلد Damascus يكتب كالتالي :
    C:\Syria\Damascus
    وهذا المسار سنعتبره مثالاً لما سيذكر فاحفظه بعقلك
    ملاحظة :عند فتح موجه الأوامر dos فإن المسار الذي يكون فيه هو المكان الذي فتح منه
    أي إذا أنشأنا ملفاً دفعياً و كان الملف على القرص c فإن المسار الافتراضي الذي
    تعرف عليه dos هو القرص c
    مثال :
    لو أنشأنا ملفاً دفعياً على القرص c و كتبنا به التعليمة pause فقط و شغلنا الملف لكانت النتيجة كالتالي

    وبماذا يعنينا هذا ؟؟
    - لنفترض أن لديك على القرص E ملفاً باسم 1.MP3 و أنك تريد حذف هذا الملف فماذا تفعل
    من المؤكد أنه عليك أولاً فتح القرص E ثم حذف هذا الملف
    - لنفترض الآن أن لديك على القرص F مجلداً اسمه games و أردت أن تنشئ مجلداً فيه باسم GTA أليس عليك أولاً أن تفتح القرص f ثم المجلد games ثم تنشئ المجلد GTA
    * هل وصلت الفكرة ؟!
    الخلاصة : علينا أن ننتقل إلى مكان أي ملف أو مجلد في حال أردنا التعامل معه مثل الحذف و الإنشاء و إعادة التسمية و غيرها و هذا ما يجب أن نفعله في الملفات الدفعية أيضاً
    فلحذف ملف يجب أن ننتقل إلى المسار الذي يحتويه و هكذا
    - إن عملية التنقل ضمن windows هي بالضغط مرتين على المجلد الذي نريد فتحه
    ويمكن الضغط على زر الخلف للرجوع مجلد إلى الوراء .....
    أما في Dos أي في الملفات الدفيعة فإن هناك تعليمات خاصة لذلك سنناقشها بالتفصيل
    أولاً : التنقل بين الأقراص
    للانتقال من قرص إلى آخر نكتب اسم القرص متبوعاً بنقطتين
    مثال إذا أنشأنا ملفاً دفعياً على القرص c و أردنا أن ننتقل إلى القرص d فإننا نكتب
    d:
    وهكذا فللانتقال للقرص f نكتب f:
    قبل أن نبدأ بتعليمة cd و ملحقاتها انتبه إلى الشكل الموجود بعد التعليمات لتفهم ما يذكر
    تعليمات النتقل بين المسارات :

    تعليمة cd
    للانتقال خطوة للأمام نكتب
    cd xxxxxxxx
    حيث xxxxxxxx يعني اسم المجلد أو المسار الذي نريد الانتقال له
    فللانتقال من القرص c إلى المجلد Syria نكتب
    cd Syria
    وللانتقال من المجلد Syria إلى المجلد Damascus نكتب
    cd Damascus
    وهكذا ...
    تعليمة cd..
    تستخدم للانتقال خطوة إلى الخلف
    فمثلاً للانتقال من المجلد Damascus إلى المجلد Syria نكتب
    cd..
    وللانتقال من المجلد Syria إلى القرص c نكتب
    cd..
    أي في كل مرة نرجع خطوة بدون أن نعرف ماذا في الوراء
    -الآن ماذا لو أردنا الانتقال دفعة واحدة من مكان إلى مكان آخر بعيد عنه
    هل علينا أن ننتقل خطوة خطوة
    بالتأكيد لا فهناك طرق مختصرة
    تعليمة cd\
    للانتقال من المجلد Damascus إلى القرص c يمكن أن نكتب تعليمة cd.. مرتين متتاليتين
    و هذا صحيح لكن هناك طريقة مختصرة بأن نكتب
    cd\
    فهي تقفز دفعة واحدة من المكان الذي نقف عليه إلى أول القرص
    - ويمكننا أن ننتقل من أي مكان نقف فيه إلى أي مكان آخر بكتابة تعليمة cd وبعدها المسار الذي نريده
    فمثلاً لو كنا على القرص c و أردنا الانتقال إلى المجلد Damascus يمكن بالطريقة السابقة أن نستخدم cd Syria ثم cd Damascus وراء بعضهم
    أو يمكن استخدام الطريقة التالية
    cd "Damascus\Syria"
    حيث كتبنا التعليمة cd وبعدها بين قوسين كتبنا المسار المطلوب عندما كنا نقف على القرص c و يمكن كتابة المسار كاملاً للوصول المباشر من اي قرص
    أي لو كنا على القرص e و أردنا الانتقال إلى المسار
    C:\Syria\Damascus
    عندئذٍ نكتب
    cd " C:\Syria\Damascus"
    لاحظ و جود علامتي اقتباس على طرف المسار و هي مهمة في حال وجود فراغات ولكي لاتقع في مشاكل حاول الاعتياد عليها دوماً بهذا الشكل
    ولعل المخطط التالي يوضح كل ماذكر من تعليمات
    أعتقد أن الأمور أصبحت واضحة الآن


    تعليمة pushd
    وهي من التعليمات التي تستخدم أيضاً للانتقال بشكل فوري إلى مسار طويل
    فأينما كنا يمكننا الانتقال إلى المسار C:\Syria\Damascusبكتابة
    pushd C:\Syria\Damascus
    وهنا ليس من الضروري و جود علامتي اقتباس ""
    حيث أنها تشبه تعليمة cd في النتيجة
    تذكرة :
    أصبح لدينا لآن الصيغ التالية لتعليمات التنقل
    cd xxx للانتقال خطوة للأمام
    cd.. للانتقال خطوة للخلف
    cd\ للانتقال إلى بداية قرص
    cd " xxxxxxxxxxxxx" للانتقال مسار طويل دفعة واحدة
    pushd xxxxxللانتقال مسار طويل دفعة واحدة

    ملاحظة : يمكن كتابة chdir بدلاً من cd أي نفس النتيجة
    لأنه صيغة cd جاءت اختصاراً لـ chdir في الإصدارات القديمة
    ملاحظة : لا فرق بين كتابة الأحرف كبيرة أو صغيرة في المسارات مثل Syria , Syria
    تعليمات النسخ و النقل والحذف
    النسخ :

    تعليمة copy
    شكل التعليمة :
    copy xxx yyy
    حيث xxx المصدر و yyy هو الهدف
    أي نكتب التعليمة copy ثم نكتب مكان الملف الذي نريد نسخه و نترك فراغاً ثم نكتب المسار الذي نريد النسخ إليه

    مثال :
    أنشئ ملفاً دفعياً ينسخ الصورة image.jpg الموجودة على القرص f في مجلد اسمه wallpaper إلى القرص d
    الحل
    copy "f:\wallpaper\image.jpg" "d:"
    حيث أن علامات الاقتباس غير ضرورية في المثال السابق و هي بشكل عام ضرورية فقط في حال وجود فراغات في أسماء المسار مثل program files

    مثال :
    اكتب ملفاً دفعياً يقوم بنسخ كافة الصور الموجودة في المسار d:\images إلى المسار f:\wallpaper
    الحل :
    Copy d:\images\*.jpg f:\wallpaper
    هام من الآن لآخر الدورة
    النجمة * تعني أي سلسلة حروف مثلاً *.jpg تعني كافة الملفات
    ذات الامتداد jpg أي كافة الصور
    و علامة الاستفهام ؟ تعني محرف و احد فمثلاً
    ???.txt
    تعني الملفات النصية التي يكون اسم الملف مكوناً فيها من ثلاثة محارف
    المحرف = أي حرف أو رقم و بعض الإشارات مثل - + …
    أرجوا أن تكون هذه النقطة واضحة لأنها مهمة
    مثال:
    أنشئ ملف دفعي يقوم بنسخ مجموعة ملفات باسم
    image (1)
    image (2)
    image (3)
    ….. الخ
    وبفرض أن هذه الملفات موجودة على المسار التالي
    E:\wallpapers
    ونريد أن يقوم الملف الدفعي بنسخها إلى المسار
    C:\WINDOWS\Web\Wallpaper
    الحل
    سنحل هذا المثال بعدة طرق لتوضيح ما مر من نقط
    - طريقة 1:
    كود PHP:
    pushd e:\wallpapers
    copy 
    *.jpg c:\windows\web\wallpaper 
    طريقة 2:
    كود PHP:
    e:
    Cd wallpapers
    Copy 
    *.jpg C:\WINDOWS\Web\Wallpaper 

    - طريقة 3:
    كود:
    Copy E:\[COLOR=Red]wallpapers[/COLOR]\*.jpg C:\WINDOWS\Web\Wallpaper

    الشرح في الطريقة الأولى أعطينا المسار للملف الدفعي ليكون هو الافتراضي
    ثم كتبنا أمر copy لكي ينسخ كافة الملفات التي لها الامتداد jpg
    وفي الطريقة الثانية انتقلنا إلى القرص e ثم انتقلنا إلى المجلد wallpapers
    ثم قمنا بكتابة أمر نسخ كافة ملفات الصور من نوع jpg إلى
    وفي الطريقة الثالثة كتبنا مسار الملفات و مسار الوجهة التي نريد نسخ الملفات إليه
    النسخ في حال تواجد مسبق للملفات
    في حال نسخ ملفات وكانت هذه الملفات موجودة فيظهر لنا رسالة تخيرنا بين عدم النسخ أو الكتابة فوق الملف أو الكتابة فوق جميع الملفات
    و الرسالة تكون على الشكل التالي
    (yes/no/all)
    حيث نضغط على الحرف الأول من كل كلمة بينهم
    y=yes للموافقة على استبدال الملف
    n=no رفض استبدال الملف و المحافظة على الملف القديم
    a=all الموافقة على استبدال كافة الملفات
    ويمكن أن نكتب التعليمة بحيث أنه تلقائياً يتم الموافقة على استبدال الملفات المكتوبة
    كما يلي copy/y
    تعليمة النقل move
    و هي تشبه عملية القص و اللصق ضمن ويندوز
    شكل التعليمة:
    كود PHP:
    move [/y] [Source] [target
    تتألف التعليمة من ثلاثة أقسام رئيسة
    move اسم التعليمة وهي للنقل هنا
    Source المصدر
    target الهدف\الوجهة
    معلمة أو سويتش هذه التعليمة /y و هي اختيارية لإلغاء عملية تأكيد النقل
    وهذه الطريقة في عرض شكل التعليمة يفضل أن نعتاد عليها من الآن فلاحقاً
    والآن سيتضح الأمر مع الأمثلة
    مثال:
    ليكن لدينا المجلد tahasoft على القرص f ويحتوي مجموعة ملفات بامتداد bat
    ونريد نقل هذه الملفات جميعها إلى القرص c
    الحل
    كود PHP:
    move  f:\tahasoft\*.bat c:\ 

    ملاحظة هامة على المثال السابق : في المسار الوجهة كتبنا c:\
    ولو أننا كتبنا c:
    لتم نسخ الملفات إلى آخر مسار كنا نقف عليه في القرص c
    و هذه النقطة مهمة حيث أننا يجب أن نكون حذرين في التعامل مع المسارات فكل محرف له دلالته و يغير الطريق
    ملاحظة :
    في حال أن كانت الملفات التي نريد نقلها موجودة مسبقاً فإنه يظهر لنا نفس ما يظهر مع تعليمة النسخ و لكي لا تظهر رسالة تأكيد النقل يمكن كتابة التعلية على الشكل


    كود PHP:
    move/y  f:\tahasoft\*.bat c:\ 
    لنسخ مجموعة ملفات أو لنسخ مجلد بما يحتويه من ملفات أو مجلدات
    شكل التعليمة:
    كود PHP:
    xcopy [/y/s/e] [Source] [target
    يتم النسخ من المصدر source إلى الوجهة target
    ولهذه التعليمة عدة معلمات ( أو تسمى متغيرات أو مفاتيح التعليمة أو (Parameter اخترت منها ما هو اكثر استخداماً
    طبعاً كالعادة المعلمات اختيارية و ليست إجبارية و أنوه إلى أنه يمكن كتابة أكثر من معلمة معاً
    /y لإلغاء رسالة التأكيد في حال وجود نفس الملفات والمجلدات
    /s لنسخ كافة محتويات المجلد بما يحتويه من مجلدات فرعية مالم تكن فارغة
    /e لنسخ كافة محتويات المجلد بما يحتويه من مجلدات فرعية مع الفارغة
    مثال
    اكتب برنامجاً لنسخ محتويات المجلد Program Files الموجود على القرص C
    إلى ذاكرة فلاش ميموري حيث اسم القرص H
    بحيث لا يتم نسخ المجلدات الفارغة و لا تظهر رسائل تأكد إن كانت المجلدات موجودة
    الحل
    كود PHP:
    move  f:\tahasoft\*.bat c:\ 
    ملاحظة :
    لا يوجد تعليمة مختصة بنسخ المجلدات و لكن نستخدم xcopy في لنسخ مجلد و نستخدم معها تعليمة md التي سنراها لاحقاً لإنشاء مجلد في الوجهة قبل بدء النسخ
    نتابع في الدرس التالي التعليمات الخاصة بالتعامل مع المسارات
    ونكتفي بهذا القدر لهذا الدرس حتى ما نتقل عليكم أكثر من هيك
    و أذكر بأن التعامل مع الملفات والمسارات من الدروس ذات الأهمية الكبيرة و التي يجب فهمها بشكل صحيح
    في الدرس القادم : تعليمة إنشاء مجلد
    md و تعليمات الحذف del,rd و إعادة التسمية ren
    بإذن الله


    الوظيفة:
    أكتب برنامجاً
    1-يقوم بنسخ محتويات المجلد
    C:\Documents and Settings\All Users\Favorites
    إلى المسار
    c:\windows\temp

    -ثم ينسخ كافة الملفات ذات الامتددا jpg الموجودة في المسار
    كود:
    C:\Documents and Settings\All Users\Documents\My Pictures\Sample Pictures

    إلى المسار
    C:\WINDOWS\Web\Wallpaper


    أذكر بأنه في نهاية الدورة سيتم إنشاء كتاب فيه كامل الدروس بشكل منقح و مريح
    [/frame]
    التعديل الأخير تم بواسطة محمود عفيفى; الساعة 11-10-2010, 05:05 PM.

  • #2
    درس رائع ومفيد جدا

    جزاك الله خيرا أخانا الفاضل د/ محمود

    لك أجمل تحية ياطيب

    تعليق


    • #3
      جزاك الله اخي الحبيب كل خير
      وبارك الله بك وفيك الى يوم الدين
      نقلت الدرس وسأدرسه فيما بعد لاهميته
      تسلم الايادي

      تعليق


      • #4
        مفيد جدا
        بارك الله بك وفيك الى يوم الدين
        ما شاء الله عليك
        تسلم الايادي

        تعليق


        • #5
          جزاك الله خيرا أخي محمود

          تعليق


          • #6
            شــــ لك ــــكراً أخي الحبيب محمود

            على هذا المجهود الرائع

            وجزاك الله خيراً

            تعليق


            • #7
              الله يوفقك ياأبوهمام

              تعليق


              • #8
                مجهود كبير بارك الله فيك اخي الكريم

                تعليق

                مواضيع تهمك

                تقليص

                المنتدى: القسم العام نشرت بواسطة: Reem2Rabeh الوقت: 04-23-2025 الساعة 04:27 PM
                المنتدى: ضبط وتوكيد الجودة نشرت بواسطة: HeaD Master الوقت: 04-15-2025 الساعة 09:30 AM
                المنتدى: التصنيع والانتاج نشرت بواسطة: HeaD Master الوقت: 04-11-2025 الساعة 01:08 PM
                المنتدى: القسم العام نشرت بواسطة: نوال الخطيب الوقت: 03-19-2025 الساعة 03:07 AM
                المنتدى: الكمبيوتر والإنترنت نشرت بواسطة: عوض السوداني الوقت: 03-18-2025 الساعة 07:22 AM
                يعمل...
                X