[C# 문법] C# CMD창 실행하기, 명령어 실행시키는 방법
- C#/Windows Form
- 2019. 9. 9. 02:00
안녕하세요.
오늘은 C#으로 CMD창을 실행시키는 방법과 CMD창이 실행 되면서 명령어도 함께 실행 시키는 방법에 대해서 알려드리고자 합니다.
첫 번째로 CMD창 실행하는 방법을 먼저 알려드릴게요.
저는 윈도우 폼 프로젝트를 생성하여 버튼 컨트롤 하나를 생성한 후, 해당 버튼을 클릭했을 때 CMD창이 실행 되게 끔 코드를 구현하도록 하겠습니다.
1. 윈도우 폼 프로젝트 생성 및 버튼 컨트롤 배치하기
위와 같이 버튼 컨트롤을 배치해 주시기 바랍니다.
다음으로는 MainForm.cs에 버튼 클릭이벤트를 선언하여 해당 버튼을 클릭 하였을 때, CMD창이 열리게 끔 코드를 구현해 보도록 할게요.
MainForm.cs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms;
namespace Cmc { public partial class Form1 : Form { public Form1() { InitializeComponent();
this.btn_cmd.Click += uiBtn_CmdExecute; }
/// <summary> /// 버튼 이벤트 핸들러 선언 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public void uiBtn_CmdExecute(object sender, EventArgs e) { System.Diagnostics.ProcessStartInfo pri = new System.Diagnostics.ProcessStartInfo(); System.Diagnostics.Process pro = new System.Diagnostics.Process();
//실행할 파일 명 입력하기 pri.FileName = "cmd.exe"; //cmd 창 띄우기 pri.CreateNoWindow = false; //flase가 띄우기, true가 안 띄우기 pri.UseShellExecute = false;
pri.RedirectStandardInput = true; pri.RedirectStandardOutput = true; pri.RedirectStandardError = true;
pro.StartInfo = pri; pro.Start(); } } }
|
실행 결과
위와 같이 “CMD 창 실행” 버튼을 클릭해 주시면 CMD창이 실행 되는 것을 확인하실 수 있습니다.
그럼 다음으로 위의 코드에서 명령어를 실행 시켜서 실제 CMD창을 실행시켜 명령어까지 수행되게 끔 코드를 추가해 보도록 할게요.
MainForm.cs에서 명령어 수행 되게 끔 코드 추가
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms;
namespace Cmc { public partial class Form1 : Form { public Form1() { InitializeComponent();
this.btn_cmd.Click += uiBtn_CmdExecute; }
/// <summary> /// 버튼 이벤트 핸들러 선언 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public void uiBtn_CmdExecute(object sender, EventArgs e) { System.Diagnostics.ProcessStartInfo pri = new System.Diagnostics.ProcessStartInfo(); System.Diagnostics.Process pro = new System.Diagnostics.Process();
//실행할 파일 명 입력하기 pri.FileName = "cmd.exe"; //cmd 창 띄우기 pri.CreateNoWindow = false; //flase가 띄우기, true가 안 띄우기 pri.UseShellExecute = false;
pri.RedirectStandardInput = true; pri.RedirectStandardOutput = true; pri.RedirectStandardError = true;
pro.StartInfo = pri; pro.Start();
//명령어 실행 pro.StandardInput.Write(@"ipconfig" + Environment.NewLine); pro.StandardInput.Close(); string resultValue = pro.StandardOutput.ReadToEnd(); pro.WaitForExit(); pro.Close();
MessageBox.Show(resultValue); } } }
|
저는 “ipconfig” 명령어를 입력하여 현재 저의 IP 정보를 확인 하도록 명령어를 실행 시켰습니다.
결과는 MessageBox로 띄우게 하였습니다.
실행 결과
이처럼 제대로 명령어가 실행된 것을 확인하실 수 있습니다.
감사합니다ㅎㅎ
'C# > Windows Form' 카테고리의 다른 글
[C# 윈폼] TextBox, Button (텍스트박스, 버튼) Enter Key(엔터키) 이벤트 발생 하기 (1) | 2019.10.03 |
---|---|
[C# 윈폼] C# 윈폼(Windows Form) CMD 창 실행하여, 방화벽(Firewall) 제어(켜기/끄기) 하는 방법 (0) | 2019.09.10 |
[윈폼 컨트롤] 윈폼 컬러(Color) 콤보박스(ComboBox) 만드는 방법 (0) | 2019.09.06 |
[윈폼 컨트롤] Windows Form(윈폼) 콤보박스(ComboBox) 컨트롤 사용 방법 (0) | 2019.09.04 |
[C# 윈폼] TextBox에 입력된 문자 Button 클릭시 메시지 박스로 출력 (0) | 2019.08.25 |
이 글을 공유하기