نمایش نتایج 1 تا 5 از 5

نام تاپیک: گرفتن نتیجه اجرای دستور cmd در C#‎

  1. #1
    کاربر تازه وارد
    تاریخ عضویت
    دی 1384
    محل زندگی
    پشت دریاها
    پست
    47

    گرفتن نتیجه اجرای دستور cmd در C#‎

    با سلام
    وقتی با cmd یک دستوری رو اجرا می کنیم بعد اون ممکنه اطلاعاتی ازش نمایش داده بشه
    چطوری می شه با سی شارپ و دستورات proccess.start یک دستور رو اجرا کرد و بعدش بتونیم به اون خروجی دستور دسترسی داشته باشیم ؟؟؟؟؟

    البته منظورم این نیست که مثلا نتیجه رو توی فایل ذخیره کنیم و بعدش بریم بخونیم و ...
    می خوام بدونم روشی هست که خروجی به صورت مستقیم بیاد ؟
    مثلا خروجی بشه مقدار بازگشتی دستور start ؟؟؟؟

  2. #2
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    آبان 1387
    پست
    62

    نقل قول: گرفتن نتیجه اجرای دستور cmd در C#‎

    سلام دوست من.
    میتونید از Propertyی StartInfo ی نمونه کلاس Process استفاده کنید که خودش نمونه کلاس ProcessStartInfo که در فضای نام System.Diagnostics هست، هست، و با کمک اون Standard Output برنامه مورد نظر یا بقولی همون stdout برنامه مورد نظرو redirect کنید.
    مثلا به این ترتیب (فکر میکنم کد به حد کافی واضح باشه)

    Process p = new Process();
    p.StartInfo.CreateNoWindow = true;
    p.StartInfo.FileName = "cmd.exe";
    p.StartInfo.Arguments = "/c " + txtCmdIn.Text;
    p.StartInfo.UseShellExecute = false;
    p.StartInfo.RedirectStandardOutput = true;
    p.StartInfo.RedirectStandardError = true;
    p.StartInfo.WorkingDirectory = dir;
    p.Start();

    lblCmdOut.Text = p.StandardOutput.ReadToEnd() ;
    ]

  3. #3
    کاربر تازه وارد
    تاریخ عضویت
    دی 1384
    محل زندگی
    پشت دریاها
    پست
    47

    نقل قول: گرفتن نتیجه اجرای دستور cmd در C#‎

    ممنون از جوابتون
    کد واضح بود ، فقط 1 نکته اینکه p.StartInfo.WorkingDirectory رو با dir ست کردید ، اما نگفتید که این dir به کجا اشاره می کنه ؟
    تست کردم ، اما نتیجه رو خالی بر می گردونه!

  4. #4
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    آبان 1387
    پست
    62

    نقل قول: گرفتن نتیجه اجرای دستور cmd در C#‎

    عذر میخوام، بی دقتی کردم و دقت نکردم که اون قسمت کد رو حذف کنم. (مقدار dir میتونه هر آدرسی باشه).
    ولی در مورد مشکل، چه دستور / برنامه ای اجرا میکنید که نتیجه نمیگیرید؟

  5. #5
    کاربر تازه وارد
    تاریخ عضویت
    دی 1384
    محل زندگی
    پشت دریاها
    پست
    47

    نقل قول: گرفتن نتیجه اجرای دستور cmd در C#‎

    درستش کردم ، 1 خطی رو گذاشته بودم که نتیجه رو در فایل ذخیره کنه و حواسم نبود که اون رو حذف کنم ، واسه همین جواب نداده بود

    ممنون از راهنماییتون

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •