اليوم في هذا الدرس البسيط والسريع سنشرح كيف ننفذ
تعليمة MS-Dos في موجه الأوامر مع رؤية الناتج ,, مما يمكننا من
استخدام تعليمات dos المفيدة
في برامجنا. بعد ما شرحنا في الدرس الماضي كيفية التعامل مع الكلاس Process والكلاس
ProcessStartInfo
, واستعرضنا أهم خصائص
وتوابع هذين الكلاسين.
لتنفيذ امر في موجه الأوامر يجب اولاً تشغيل موجه الأوامر "cmd.exe" او "cmd" (لأنه موجود في مجلد system32).
ثم نأتي لأهم نقطة:
الشرح:
لتنفيذ امر في موجه الأوامر يجب اولاً تشغيل موجه الأوامر "cmd.exe" او "cmd" (لأنه موجود في مجلد system32).
ثم نأتي لأهم نقطة:
كي نرسل أمر إلى موجه الأوامر يجب ان نكتب هذا الأمر
مع بارامترات أو معاملات التشغيل لموجه الأوامر أو "Arguments" .. ولذلك نكتب البارامتر ""/c ثم
بعده نكتب تعليمة الدوس التي نريد تنفيذها ,, وهذا مثال لتنفيذ تعليمة "Dir":
cmd.exe /c dir
الصورة التالية تعبر عن هذا الأمر (خصائص موجه
الأوامر)
Imports System.Diagnostics
using System.Diagnostics;
الأن
نعرف متغير من نوع ProcessStartInfo
وهذا الكائن يمكننا من تحديد بعض الخيارات
والمعاملات التي تستخدم لبدء عملية تنفيذ تعليمة دوس:
Dim procInfo As ProcessStartInfo = New
ProcessStartInfo("cmd")
ProcessStartInfo procInfo = new ProcessStartInfo("cmd");
طبعاً قمنا بتمرير اسم البرنامج والذي هو cmd لتشغيل موجه الأوامر.
بعد ذلك نمرر معاملات التشغيل Arguments:
بعد ذلك نمرر معاملات التشغيل Arguments:
procInfo.Arguments = "/c
" & TextBox1.Text.Trim()
procInfo.Arguments = "/c
" + TextBox1.Text.Trim();
من أجل عرض نتيجة تنفيذ الأمر نستخدم الخاصية
التالية ونجعل قيمتها True:
procInfo.RedirectStandardOutput = True
procInfo.RedirectStandardOutput = true;
ومن اجل ان يتم نحصل على نتيجة التنفيذ يجب تعين
قيمة False
للخاصية التالية:
procInfo.UseShellExecute = False
procInfo.UseShellExecute = false;
الأن بقي ان نعرف متغير من نوع Process لتنفيذ
عملية تشغيل موجه الأوامر:
Dim proc As Process = New Process()
Process proc = new Process();
ثم تحديد خيارات ومعاملات التشغيل لهذه العملية اي
الكائن procInfo الذي عرفناه قبل قليل:
proc.StartInfo = procInfo
proc.StartInfo = procInfo;
الأن تنفيذ العملية:
proc.Start()
proc.Start();
لعرض نتيجة تنفيذ الكود نستخدم الخاصية StandardOutputالتي
تعود بالنتيجة على شكل StreamReader:
Dim result As String = proc.StandardOutput.ReadToEnd()
TextBox2.Text = result
String result =
proc.StandardOutput.ReadToEnd();
TextBox2.Text = result;
خيارات إضافية:
من أجل عدم عرض نافذة موجه الأوامر (النافذ السوداء) ,, نكتب التالي:
procInfo.CreateNoWindow = True
procInfo.CreateNoWindow = true;
2 تعليقات
شقق للبيع في اسطنبول
ردشقق للبيع في تركيا
الاستثمار العقاري في تركيا
شقق للبيع في اسطنبول تركيا
شقق للبيع في اسطنبول تركيا
اخر اخبار الاستثمار العقاري في تركيا
ردأهم عشرة أسباب تدفعك للاستثمار في تركيا
إيجابيات وسلبيات الاستثمار العقاري في تركيا
ااحصل على جنسيتك التركية باستثمار قيمته 300 الف دولار الآن
إرسال تعليق