Cmd ile command prompt üzerinden bir çok komut çalıştırılabilir.
Örneğin;
- run
- mongod
- netstat
- vs… vs…
İşte bu ve benzeri bütün komutları c# ile yapmanın da elbette bir yolu var. Şimdi kodumuza geçelim;
System.Diagnostics.Process process = new System.Diagnostics.Process();
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
startInfo.WorkingDirectory = @"c:\";
startInfo.FileName = "calistirilacak.exe";
startInfo.Arguments = "Eğer bir argüman var ise buraya yazılacak. Yok ise boş geçilebilir...";
startInfo.UseShellExecute = false;
startInfo.RedirectStandardOutput = true;
process.StartInfo = startInfo;
process.Start();
process.WaitForExit();
Kısaca bakacak olursak;
- startInfo.WindowStyle => Çalışma esnasında command prompt ekranının açılıp açılmayacağı belirlenir.
- startInfo.WorkingDirectory = @”c:\” => Uygulama (.exe, .dll. vs…) hangi dizinde ise satır bu dizinde çalıştırılacaktır.
- startInfo.FileName => Çalıştırılacak dosya adı.
- process.Start() => İşlemin başlatılmasını sağlar.
- process.WaitForExit() => İşlem bitene kadar uygulamanın “çalışıyor” durumda kalmasını sağlar.
Umarım yararlı olmuştur. İyi çalışmalar…
bende olmuyor açmıyor
Uygulamanın çalıştığı bilgisayara göre değişebilir. Ancak bazı güvenlik ayarlarından kaynaklı uygulamanın yönetici olarak çalıştırılması gerekebiliyor. Aksi taktirde çalıştırmayabilir. Yaptığınız uygulamaya sağ tıklayarak “Yönetici olarak çalıştır” diyebilirsiniz. Eğer web uygulaması ise sunucuda bu dosyaya erişim ayarlarını IIS_USR olarak güncelleyebilirsiniz.