المساعد الشخصي الرقمي

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


محمود عفيفى
05-10-2010, 07:23 PM
الدرس الثالث : التعامل مع الملفات والمجلدات الأوامر cd,pushd,copy,move,xcopy

ليكن لدينا مجلداً على القرص c اسمه Syria و يحوي مجلدين آخرين داخله أحدهما اسمه Damascus و الآخر اسمه Aleppo

عندئذِ فإن مسار المجلد Damascus يكتب كالتالي :
C:\Syria\Damascus
وهذا المسار سنعتبره مثالاً لما سيذكر فاحفظه بعقلك
:bar: (http://www.abc4web.com/vb/)

ملاحظة :عند فتح موجه الأوامر dos فإن المسار الذي يكون فيه هو المكان الذي فتح منه
أي إذا أنشأنا ملفاً دفعياً و كان الملف على القرص c فإن المسار الافتراضي الذي
تعرف عليه dos هو القرص cمثال :
لو أنشأنا ملفاً دفعياً على القرص c و كتبنا به التعليمة pause فقط و شغلنا الملف لكانت النتيجة كالتالي
http://images.upload2world.com/get-5-2009-upload2world_com_busur.png
وبماذا يعنينا هذا ؟؟
- لنفترض أن لديك على القرص E ملفاً باسم 1.MP3 و أنك تريد حذف هذا الملف فماذا تفعل
من المؤكد أنه عليك أولاً فتح القرص E ثم حذف هذا الملف
- لنفترض الآن أن لديك على القرص F مجلداً اسمه games و أردت أن تنشئ مجلداً فيه باسم GTA أليس عليك أولاً أن تفتح القرص f ثم المجلد games ثم تنشئ المجلد GTA
* هل وصلت الفكرة ؟!
الخلاصة : علينا أن ننتقل إلى مكان أي ملف أو مجلد في حال أردنا التعامل معه مثل الحذف و الإنشاء و إعادة التسمية و غيرها و هذا ما يجب أن نفعله في الملفات الدفعية أيضاًفلحذف ملف يجب أن ننتقل إلى المسار الذي يحتويه و هكذا
:bar: (http://www.abc4web.com/vb/)

- إن عملية التنقل ضمن windows هي بالضغط مرتين على المجلد الذي نريد فتحه
ويمكن الضغط على زر الخلف للرجوع مجلد إلى الوراء .....
أما في Dos أي في الملفات الدفيعة فإن هناك تعليمات خاصة لذلك سنناقشها بالتفصيل
أولاً : التنقل بين الأقراص
للانتقال من قرص إلى آخر نكتب اسم القرص متبوعاً بنقطتين
مثال إذا أنشأنا ملفاً دفعياً على القرص c و أردنا أن ننتقل إلى القرص d فإننا نكتب
d:
وهكذا فللانتقال للقرص f نكتب f:
قبل أن نبدأ بتعليمة cd و ملحقاتها انتبه إلى الشكل الموجود بعد التعليمات لتفهم ما يذكر
تعليمات النتقل بين المسارات :
:bar: (http://www.abc4web.com/vb/)


تعليمة 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"
لاحظ و جود علامتي اقتباس على طرف المسار و هي مهمة في حال وجود فراغات ولكي لاتقع في مشاكل حاول الاعتياد عليها دوماً بهذا الشكل
ولعل المخطط التالي يوضح كل ماذكر من تعليمات http://images.upload2world.com/get-5-2009-upload2world_com_izxthq.pngأعتقد أن الأمور أصبحت واضحة الآن

:bar: (http://www.abc4web.com/vb/)


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

:bar: (http://www.abc4web.com/vb/)

تعليمة 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:
pushd e:\wallpapers
copy *.jpg c:\windows\web\wallpaper
طريقة 2:
e:
Cd wallpapers
Copy *.jpg C:\WINDOWS\Web\Wallpaper

- طريقة 3:
Copy E:\wallpapers\*.jpg C:\WINDOWS\Web\Wallpaper

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



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

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


الوظيفة:
أكتب برنامجاً 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


أذكر بأنه في نهاية الدورة سيتم إنشاء كتاب فيه كامل الدروس بشكل منقح و مريح

:bar: (http://www.abc4web.com/vb/)

الدرس 4 █▓▒░ دورة كتابة الملفات الدفعية : التعامل مع الملفات و المجلدات - الحزء الثاني (http://www.abc4web.net/vb/showthread.php?t=12304)

abohmam
11-10-2010, 11:31 PM
درس رائع ومفيد جدا

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

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

:abc_152:

المغربي الجديد
12-10-2010, 03:57 AM
جزاك الله اخي الحبيب كل خير
وبارك الله بك وفيك الى يوم الدين
نقلت الدرس وسأدرسه فيما بعد لاهميته
تسلم الايادي
:abc_152:

المغربي الجديد
12-10-2010, 07:00 PM
مفيد جدا
بارك الله بك وفيك الى يوم الدين
ما شاء الله عليك
تسلم الايادي
:abc_152:

أبو يوسف
12-10-2010, 09:37 PM
جزاك الله خيرا أخي محمود

الدمشقي
12-10-2010, 11:21 PM
شــــ لك ــــكراً أخي الحبيب محمود

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

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

الرهطه
16-01-2011, 09:13 PM
الله يوفقك ياأبوهمام

حمد محمد
17-01-2011, 05:48 PM
مجهود كبير بارك الله فيك اخي الكريم