الدرس الرابع في دورة تعليم autoit

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

أما الآن فدعونا نبدء مع الدرس الرابع

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

تذكير بشكل الدالة المعرفة

في تعرفنا على الدالة
تعلمنا أن الدالة نوعين
وهما الدالة المعرفة والدالة المخصصة
واليوم ما نحتاجه هو الدالة المعرفة
وهي دوال قد صممت لتسهيل علينا الكثير من الأكواد
المعقدة منها والطويلة
وإختصارا للوقت, وحتى لا ننشغل بكتابة أكواد كثيرة كل ما أردنا عمل أمر معين
فجاأت هنا هذه الدوال العامة
التي تقم بتنفيذ لنا ما نريد ومتى ما نريد
وشكل الدالة يكن كالتالي
name(param1, param2, param3,…)
حيث
name : يمثل إسم الدالة
القوسين : يمثلا حقل إعدادات الدالة
وما وضع بين القوسين : يمثل إعدادات الدالة المتغيرة
التي سنرى أمثلة عديدة عنها في هذا الدرس إن شاء الله تعالى.

إدارة الملفات والمجلدات

من خلال هذا الدرس عزيزي ستكن قادرا على التحكم في ملفاتك
كنقلها وحذفها ونسخها.
كما ستكن قادرا على التحكم في المجلدات الخاصة بك
وقبل أن ننطلق
دعوني أأكد لكم شيء
هو أني أقم بشرح هذه اللغة حتى تعم الفائدة علينا جميعا
وحتى نخرج نحن المكفوفين من ضاهرة الإستهلاك فقط
وحتى لا نبقى ننتضر من المتوسطين منا أو حتى المحترفين بأن ينجزو لنا أدوات بسيطة تساعدنا في قضاء بعض الحاجيات البسيطة
ونحن نبقى نتعجب من الشكل ونندهش كيف صممت هذه الأداة أو هذا البرنامج., أو ننتقد الشكل أو الأداء
بل ننشء ما نريد بأيدينا نحن
وبالشكل الذي يناسبنا نحن
وهذا لا يعني أنني أقلل من مجهودات إخواني لا والله
لا أقلل ولا أعيب منتوجات أحد
بل قلتها على وجه التوضيح لا أكثر
وتشجيعا لأن تكمل عزيزي في هذه اللغة
أحب أن أخبرك
أن كل الأدوات والبرامج التي أقم أنا بتصميمها تعتمد بنسبة كبيرة جدا على هذه اللغة
ومنها من تعتمد عليها بشكل كلي
وهذا لا أقصد به أني متوسط أو محترف
لا والله أنا مبتدء جدا
لاكن أنا شخص يحب البحث ويحب التعلم
وأريد أن أقسم كل ما أتعلمه معكم حتى تعم الفائدة
والآن دعني أذكرك بأني بريء أمام الله عز وجل
من كل من يستخدم هذه الأوامر التي أقدمها لكم في ما لا يرضي الله عز وجل, وما يؤذي إخواننا.
وأشهد الله أني بريء أمامه
والله الموفق والمستعان
طيب أعتذر عزيزي على كثرة الكلام
دعونا نبدء الآن مع

إدارة الملفات

عزيزي لإدارة الملفات هناك دوال مخصصة لذالك
كدالة نسخ الملفات
fileCopy
ودالة نقل الملفات
fileMove
ودالة حذف الملفات
FileDelete
وهذا ما سا نتعرف عليه اليوم
وكل الدوال المذكورة تحتوي على
3 إعدادات
الأولى مشتركة
وهي مسار الملف
والثانية تختلف حسب الدالة
المهم سنبدء في شرحهم دالة دالة حتى يتضح الأمر

1. دالة نسخ الملفات fileCopy

شكل الدالة يكن كالتالي
fileCopy(المسار1, المسار2, الإشارة)
شرح
المسار 1 هو مسار الملف الذي تريد نسخه
المسار2
هو المسار الذي تريد نسخ الملف إليه
الإشارة
وهي
أن نشير إلى الدالة بتنفيذ بماذا ستفعل إذا واجهتها بعض المعيقات
كإيجاد إسم ملف يحمل إسم الملف الذي تريد نسخه
أو المسار غير موجود إلخ
والإشارة إما أن تكن بمتغيرات خاصة
أو بالأرقام
وأنا أفضل الأرقام حاليا
نظرا لعدم توسعنا الكافي في المتغيرات
والأرقام أسهل
وهنا بين أيدينا ثلاث إشارات مهمة
وهي :
0 أي نشير له أن إذا وجد ملف بنفس الإسم لا يستبدله
1أي نشير له أن إذا وجد ملف بنفس الإسم يقم باستبدله
8 أن نشر له بأن إذا لم يجد مسار النسخ يقم بإنشائه
لاكن هنا السؤال الذي يطرح نفسه هو :
لو أردت مثلا أن أشير له بأن يستبدل الملف وينشء المجلد في نفس الوقت فماذا أفعل
هل أكتب مثلا 18؟
هنا أيها القارء الكريم
علينا بأن نفصل بين الإشارات بعلامة +
حيث تصبح مثلا
1 + 8
أي إستبدل وإنشء المجلد إن لم يكن موجود
أو
0 + 8
أي لا تستبدل وإنشء المجلد إن لم يكن موجود
والآن مثال توضيحي
لنفترض أننا نملك ملف في القرص c وإسمه autoit.txt
ونريد نسخه إلى المسار التالي
d:\my files\
فنكتب
الكود كما يلي
fileCopy(“c:\Autoit.txt”, “d:\my files”, 1)
أي ينسخه بنفس الإسم مع إستبداله إن وجد
هنا يشترط أن يكن المسار صحيح
fileCopy(“c:\Autoit.txt”, “d:\my files\autoit2.txt”, 1 + 8)
وبهذا المثال
يقم بنسخ الملف بإسم مختلف
مع إستبدال الملف إن وجد وإنشاء المجلد إن لم يكن موجود
طبعا بإمكانك نسخ أكثر من ملف
مثلا لو أردت نسخ كل الملفات التي بإمتداد txt من مجلد إلى مجلد آخر
فأستبدل إسم الملف وإمتداده في المسار الأول ب
*.txt
فتصبح كالتالي مثلا
fileCopy(“c:\example\*.txt”, “d:\my files\”, 1 + 8)
أو إذا أردت نسخ كل الملفات مثلا فأستبدل إسم المسار وإمتداده ب
*.*
حيث يصبح مثلا
fileCopy(“c:\example\*.*”, “d:\my files\”, 1 + 8)
إلخ

2. دالة نقل الملفات fileMove

إن دالة نقل الملفات هي مشابهة تماما لدالة نسخ الملفات
حيث تتميز بكل خصائصها
فقط نستبدل كلمة
copy
بكلمة
Move

فتصبح الدالة كالتالي
fileMove
ومثال فقط على الدالة
fileMove(“c:\example\*.txt”, “d:\my files\”, 1 + 8)
طبعا الإشارات هي نفسها والإعدادات هي نفسها

3. دالة حذف الملفات fileDelete

هذه الدالة تحتوي على إعداد واحد فقط
حيث يكن شكل الدالة كما يلي
fileDelete(“مسار الملف”)
ومسار الملف هو مسار وإسم وإمتداد الملف الذي نريد حذفه
حيث تكن مثلا
fileDelete(“c:\autoit.txt”)
لحذف ملف واحد
أو
fileDelete(“c:\example\*.txt”)
لحذف كل الملفات النصية
أو
fileDelete(“c:\example\*.*”)
لحذف كل الملفات مهما كان إمتدادها

إدارة المجلدات

لغة autoit عزيزي وكأي لغة برمجة تتيح لك التحكم في المجلدات وإدارتها
ولعمل هذا هناك دوال مخصصة
حيث سنتعرف اليوم على :
دالة إنشاء المجلدات
dirCreate
ودالة نسخ المجلدات
DirCopy
ودالة نقل المجلدات
DirMove
ودالة حذف المجلدات
DirRemove

1. دالة إنشاء المجلدات dirCreate

هذه الدالة سهلة جدا وتحتوي على إعداد واحد فقط

وهو مسار المجلد الذي نريد إنشائه
حيث شكلها يكن كالتالي
DirCreate(“المسار”)
ومثال عليها
DirCreate(“c:\example”)

2. دالة نسخ المجلدات DirCopy

هذه الدالة تمكننا من نسخ محتوى مجلد ما إلى مجلد آخر
حيث يكن شكلها كالتالي
DirCopy(“مسار المجلد”, “مسار المجلد الذي نريد النسخ إليه”, الإشارة)
مسار المجلد هو المسار الذي يحتوي على المحتوى المراد نسخه
والمسار الثاني هو مسار المجلد الذي نريد نسخ المحتوى إليه
أما الإشارة
فهنا إشارتين فقط
0 في حال وجد نفس الملفات لا يقم بإستبدالها
1 في حال وجد نفس الملفات يقم بإستبدالها
مثلا
DirCopy(“c:\example”, “d:\programation\autoit\example”, 1)
أي يقم بنسخ المجلد
وإستبدال المحتوى إن كان موجود
أو
DirCopy(“c:\example”, “d:\programation\autoit\example”, 0)
أي لا يقم بإستبدال المحتوى إن كان موجود مسبقا.

دالة نقل مجلد DirMove

هذه الدالة تشبه تماما دالة نسخ مجلد
يكفي فقط إستبدال كلمة
copy
بكلمة
move
فتصبح
DirMove
مثال على الدالة
DirMove(“c:\example”, “d:\programation\autoit\example”, 1)
أي أمرته بنقل المجلد إلى مجلد آخر مع إستبدال المحتوى إن كان موجود مسبقا.

4. دالة حذف مجلد

هذه الدالة تحتوي على إعدادين فقط وهما
مسار المجلد والإشارة
حيث هي على الشكل التالي
DirRemove(“مسار1”, إشارة)
المسار يعني مسار المجلد الذي نريد حذفه
أما الإشارة
فهنا عندنا إشارتين
الأولى
0 وتشير إلى حذف المجلد في حال كان فارغا
والثانية هي :
1 وتشير إلى حذف المجلد على أي حال
مثال توضيحي
DirRemove(“c:\example”, 1)
يعني أخبرته بحذف المجلد على أي حال
DirRemove(“c:\example”, 0)
وهنا أمرته بحذف المجلد شرط أن يكن فارغا

ملاحظات

1. يجب كتابة المسارات بين علاماتي تنصيص
حتى وإن لم يكن المسار يحتوي على مسافات
2. لو لم نقم بوضع الإشارة فهو يستخدم إشارة 0 بشكل تلقائي
يعني مثلا
في نسخ الملفات يستخدم الإشارة عدم إستبدال الملفات بشكل تلقائي
لذا إن كنت تريد أن تشر له بعدم الإستبدال
فبإمكانك الإستغناء عن الإشارة
فتصبح الدالة مثلا كالتالي
fileCopy(“c:\autoit.txt”, “d:\my files”)
ونفس الشيء مع الدوال الأخرى.
3. يجب تقديم المسارات الصحيحة حتى تنجح العملية بنجاح.
4. إذا إستخدمت أمر حذف كل الملفات أو كل المجلدات
وكان هناك ملفات مخفية فلن يقم بحذفها
لذا يجب عليك إظهارها وإزالة الحماية عنها أولا
وهذه اللغة تحتوي على أوامر للقيام بهذه العملية وسنتعرف عليها فيما بعد

ملاحظات عامة

1. عليك بقراءة الدروس السابقة وتدوينها وفهمها جيدا
حتى تسهل لك الدروس التالية
وأنا في الخدمة بإمكانك أن تكتب سؤالك إما في تعليق وإما في صفحة أسئلة الأعضاء.
2. دائما المسارات والنصوص في هذه االلغة تكن بين علامات تنصيص.
3. دائما يجب أن نفصل بين إعدادات الدالة بعلامة الفاصلة

خاتمة

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