[C#]Run batch file in C#

หลังจากที่ผ่านงาน Run batch file in Java class มาแล้วก็มาคิดว่า ในเมื่อรันอยู่บน Windows ทำไมไม่ใช้ภาษา C# ซะละครับ เลยลองไปหาตัวอย่างการใช้งานของ C# มาดังนี้
1. รันโดยไม่สนใจผลการทำงาน

private void btnRun_Click(object sender, System.EventArgs e){
	System.Diagnostics.Process.Start(@"C:\MyBatch.bat");
}

2. รันโดยรอผลการทำงาน

private void btnRun_Click(object sender, System.EventArgs e){
	System.Diagnostics.ProcessStartInfo proInfo = new System.Diagnostics.ProcessStartInfo(@"C:\MyBatch.bat");
	proInfo.RedirectStandardOutput = true;
	proInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
	proInfo.UseShellExecute = false;
	
	System.Diagnostics.Process pro = System.Diagnostics.Process.Start(proInfo);
	System.IO.StreamReader strReader = pro.StandardOutput;
	pro.WaitForExit(2000);
	if(pro.HasExited){
		string output = strReader.ReadToEnd();
		Console.WriteLine(output);
	}
}

โอ้… ดูแล้วออกจะง่ายกว่า Java อยู่หลายช่วงตัว (Code ที่แสดง copy มาแค่บางส่วนเท่านั้น)
แหล่งข้อมูล
How can I run another application or batch file from my Visual C# .NET code?
How to execute a .bat file from a C# windows form app?

  1. No comments yet.

  1. No trackbacks yet.