انتقل إلى المحتوى الرئيسي

مقدمة إلى CMD

ما هو الطرفية؟​

الطرفية هي واجهة مستخدم تتيح التفاعل مع نظام حاسوبي (نظام تشغيل) عبر أوامر نصية. على عكس واجهة المستخدم الرسومية (GUI)، تستقبل الطرفية أوامر يتم إدخالها يدويًا من قبل المستخدم وتعيد نصًا كرد.

تقدم الطرفيات عادةً:

  • وصول مباشر لإدارة النظام.
  • أتمتة المهام المتكررة.
  • استكشاف الأخطاء في النظام بسرعة.

تاريخ واختلافات بين CMD وPowerShell​

يوفر Windows اثنين من المفسرات الرئيسية للأوامر: CMD وPowerShell.

CMD​

CMD (موجه الأوامر)، يُعرف أيضًا باسم "موجه الأوامر" بالفرنسية، هو المفسر القياسي للأوامر في Windows منذ MS-DOS.

  • الأصل: مشتق مباشرة من MS-DOS.
  • لغة بسيطة تعتمد على أوامر محددة مسبقًا.
  • مثالي للبرامج النصية الأساسية والتوافق التصاعدي.

PowerShell​

PowerShell هو شل حديث تم تطويره بواسطة Microsoft لسد الثغرات في CMD.

  • الأصل: تم تقديمه مع Windows Vista في عام 2006.
  • يعتمد على .NET Framework، ويدعم الأوامر المعقدة والموجهة للكائنات.
  • يستخدم cmdlets (أوامر صغيرة) لزيادة المرونة.

لماذا تختار CMD أو PowerShell؟​

  • CMD: برامج نصية بسيطة، توافق سريع ومهام أساسية.
  • PowerShell: مهام معقدة، أتمتة متقدمة وإدارة النظام.

CMD: الصياغة والأوامر الأساسية​

الصياغة العامة​

commande [options] [arguments]

الأوامر الشائعة​

إليك قائمة بالأوامر الأكثر شيوعًا في CMD:

الأمرالوصف
dirيسرد الملفات والمجلدات
cdيغير الدليل الحالي
copyينسخ ملفًا
moveينقل ملفًا
delيحذف ملفًا
mkdirينشئ دليلًا
rmdirيحذف دليلًا فارغًا
typeيعرض محتوى ملف نصي
echoيعرض نصًا
setيعرض أو يحدد متغيرات البيئة
clsيمسح الشاشة

أمثلة​

سرد الملفات:

dir

تغيير المجلد:

cd C:\Users\Haythem\Documents

نسخ ملف:

copy fichier1.txt fichier2.txt

الخيارات في CMD: استخدام الحرف /​

على عكس الطرفيات Unix/Linux (مثل bash) حيث يتم تحديد خيارات الأمر بواسطة شرطة - أو شرطتين --، يستخدم CMD تقليديًا الحرف المائل /.

على سبيل المثال، في Bash (Linux أو Mac):

ls -l -a

لكن في CMD (Windows):

dir /w /p

مثال على أوامر CMD مع الخيارات:​

أمر CMDمعنى الخيار
dir /wعرض الملفات والمجلدات بتنسيق واسع (أعمدة).
dir /pعرض الملفات صفحة بصفحة، مع توقف مؤقت.
copy /yنسخ ملف دون طلب تأكيد للكتابة فوقه.
del /qحذف الملفات دون تأكيد.
taskkill /IM notepad.exeإنهاء تطبيق محدد (IM تعني اسم الصورة).

الحصول على مساعدة حول الأوامر (/ ?)​

على عكس Unix أو Bash، حيث يتيح الخيار --help الحصول على مساعدة حول أمر ما، فإن المكافئ في CMD هو استخدام الخيار /?.

الصياغة العامة:​

commande /?

يعرض هذا الأمر وصفًا مفصلًا بالإضافة إلى الخيارات المختلفة المتاحة لأمر محدد.

مثال:​

للحصول على مساعدة الأمر dir، اكتب:

dir /?

متغيرات CMD​

المتغير CMD هو مرجع مؤقت يسمح بتخزين معلومات أو قيم يمكن استخدامها لاحقًا في نفس جلسة CMD أو في برنامج نصي batch.

  • الصياغة:
set nom_variable=valeur
  • مثال بسيط:
set utilisateur=Haythem
echo Bonjour %utilisateur%

بشكل افتراضي، المتغيرات التي تم تعريفها باستخدام الأمر set في مثيل CMD ليست مرئية في مثيل آخر مفتوح في نفس الوقت. يحتفظ كل مثيل CMD بمتغيراته الخاصة بشكل مستقل عن الآخرين. لإنشاء متغير بيئة دائم (سيكون مرئيًا لجميع جلسات CMD الجديدة)، يجب استخدام لوحة التحكم في Windows أو الأداة setx:

setx utilisateur Haythem

البرامج النصية batch (.bat)​

تتيح الملفات batch أتمتة المهام المتكررة.

مثال كامل:

إنشاء ملف باسم backup.bat:

@echo off
echo Démarrage de la sauvegarde...

set source=C:\Users\Haythem\Documents\Important
set destination=D:\Backup\Documents\Important

if not exist %destination% mkdir %destination%

copy %source%\*.txt %destination%

echo Sauvegarde terminée.
pause

تنفيذ البرامج النصية batch​

  • النقر المزدوج على الملف .bat.
  • من CMD: backup.bat.

المراجع​

هناك العديد من الموارد لتعلم كتابة البرامج النصية batch، بما في ذلك التوثيق الرسمي من Microsoft وموارد تعليمية أخرى عبر الإنترنت مثل tutorialspoint.

التعامل المتقدم مع CMD​

إعادة التوجيه​

  • >: يرسل المخرجات إلى ملف.
  • >>: يضيف إلى ملف موجود.

مثال:

dir > liste_fichiers.txt

الأنابيب (|)​

تتيح إرسال مخرجات أمر إلى آخر.

dir | find "rapport"

إدارة المهام​

سرد العمليات:

tasklist

إنهاء عملية:

taskkill /IM notepad.exe

إدارة الشبكة​

عرض معلومات الشبكة:

ipconfig

التحقق من الاتصال بالشبكة:

ping google.com

الخاتمة​

CMD هو أداة أساسية لمستخدمي Windows الذين يسعون لأتمتة المهام البسيطة بسرعة. على الرغم من محدودياته مقارنة بـ PowerShell، فإن بساطته وسرعته تجعله خيارًا جيدًا للمهام الشائعة والبرامج النصية البسيطة.