본문 바로가기

프로그래밍/C#

C# 에서 도스 명령어 실행




System.Diagnostics.Process process = new System.Diagnostics.Process();
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
startInfo.FileName = "CMD.exe";
startInfo.WorkingDirectory = @"D:\";
 
startInfo.UseShellExecute = false;
startInfo.RedirectStandardInput = true;
startInfo.RedirectStandardOutput = true;
startInfo.RedirectStandardError = true;
 
process.EnableRaisingEvents = false;    
process.StartInfo = startInfo;
process.Start();    //프로세스 시작
process.StandardInput.Write("dir" + Environment.NewLine);     //예를 들어 dir명령어를 입력
process.StandardInput.Close();
 
string result = process.StandardOutput.ReadToEnd();                     //실행결과를 standard output으로 받아와 string값에 저장
string error = process.StandardError.ReadToEnd();                        //오류유무를 standard output으로 받아와 string값에 저장
System.Text.StringBuilder sb = new System.Text.StringBuilder();
sb.Append("[ Result Info ]\r\n");                                                  //출력
sb.Append(result);
sb.Append("\r\n");
sb.Append("[ Error Info ]\r\n");
sb.Append(error);
 
this.txtResult.Text = sb.ToString();
 
process.WaitForExit();
process.Close();