تنفيذ أوامر Ms-Dos في برامج C# & VB.Net


اليوم في هذا الدرس البسيط والسريع سنشرح كيف ننفذ تعليمة MS-Dos في موجه الأوامر مع رؤية الناتج ,, مما يمكننا من استخدام تعليمات dos المفيدة في برامجنا. بعد ما شرحنا في الدرس الماضي كيفية التعامل مع الكلاس Process والكلاس ProcessStartInfo , واستعرضنا أهم خصائص وتوابع هذين الكلاسين.
 


execute command prompt commands in c# and vb.net


  الشرح:


لتنفيذ امر في موجه الأوامر يجب اولاً تشغيل موجه الأوامر "cmd.exe" او "cmd" (لأنه موجود في مجلد system32).

ثم نأتي لأهم نقطة:

كي نرسل أمر إلى موجه الأوامر يجب ان نكتب هذا الأمر مع بارامترات أو معاملات التشغيل لموجه الأوامر أو "Arguments" .. ولذلك نكتب البارامتر ""/c  ثم بعده نكتب تعليمة الدوس التي نريد تنفيذها ,, وهذا مثال لتنفيذ تعليمة  "Dir":
cmd.exe /c dir 
الصورة التالية تعبر عن هذا الأمر (خصائص موجه الأوامر)


command prompt properties خصائص موجه الاومر


الأن لننتقل إلى الكود:


أولاً استيراد المكتبة Diagnostics لتنفيذ عملية تشغيل تعليمة دوس:
Imports System.Diagnostics
using System.Diagnostics;

 الأن نعرف متغير من نوع ProcessStartInfo وهذا الكائن يمكننا من تحديد بعض الخيارات والمعاملات التي تستخدم لبدء عملية تنفيذ تعليمة دوس:
Dim procInfo As ProcessStartInfo = New ProcessStartInfo("cmd")
ProcessStartInfo procInfo = new ProcessStartInfo("cmd");

طبعاً قمنا بتمرير اسم البرنامج والذي هو cmd لتشغيل موجه الأوامر.

بعد ذلك نمرر معاملات التشغيل 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;

1 تعليقات :

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

رد

إرسال تعليق