PDA

View Full Version : مقاله: طریقه اجرا cmd از #C و اجرای دستورات در آن



mosini
شنبه 02 خرداد 1388, 12:36 عصر
سلام.
شاید تا بحال براتون پیش اومده که خواسته باشین command prompt رو اجرا کرده و دستوراتی در اون از طرف برنامه سی شارپتون اجرا کنید!
خوب اگه یه چرخی در اینترنت بزنید چیزای بدرد بخوری پیدا نمیکنید، اما همین به درد نخور ها منو کمک کردن برای رسیدن به انتشار این مقاله.
خب روند کار بسیار ساده است. فرض کنید می خواهیم cmd را اجرا کنیم و در اون دستوری بنویسیم که زمان سیستم رو به زمان دلخواهمون تنظیم کنه.این دستور بصورت زیر هست:

time hh:mm:ss

hh معادل ساعت و mm معادل دقیقه و ss معادل ثانیه است.
خب برای این کار از طرف سی شارپ باید اول یه پروژه بسازیم.
Visual studio خودتون رو اجرا کنید و یه console application بسازید سپس در متد Main قطعه کد زیر را تایپ کنید:

Process p = new Process()
ProcessStartInfo info = new ProcessStartInfo()
info.RedirectStandardInput = true;
info.RedirectStandardOutput = true;
info.UseShellExecute = false
p.StartInfo = info;
p.Start();
StreamWriter sw = p.StandardInput;
sw.WriteLine("time 14:02:02");
sw.Close();
p.WaitForExit();

خب همونطور که میبینید ابتدا چون می خواهیم یه برنامه ی دیگه (cmd) از این برناممون اجرا بشه باید از کلاس Process که توی System.Diagnostics وجود داره، استفاده کنیم.کلاس Process برای اجرای برنامه cmd نیاز به شی ای از کلاس ProcessStartInfo داره.در حقیقت در پراپرتی FileName این شی هست که نام cmd رو میدیم تا بعدا توسط متد start شی کلاس Process اجرا بشه.
نکته مهم در این قطعه کد پراپرتی fileName هست که شما نام فایلی که می خواهید اجرا بشه میدید و قسمت sw.WriteLine که در اون آرگومان های مورد نیازتون را باید بنویسید.
موفق باشید
naeimabadi.blogfa.com

Unknownlive
شنبه 02 خرداد 1388, 13:56 عصر
روش خوبی بود البته من تا به حال بجز این نزدیک به 6 روش دیگه دیده بودم البته اکثرا از همون کلاس process استفاده کرده بودند

danial82
چهارشنبه 29 مهر 1388, 12:52 عصر
من میخوام دستور bcp رو از طریق کد استفاده کنم چطور میتوانم این کار و انجام بدم؟
این دستور محتویات یک جدول و به یک فایل text منتقل میکنه این دستور در cmd اجرا میشه از طریق کد چجور میشه؟



bcp pubs..authors out c:\test.txt -c -Craw