Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- CloseMainWindow
- html pubdate
- 마크업 언어
- HTML 헤더에서 style 요소 사용
- html get post
- html command
- CSS 문서 외형 정의
- html
- CSS 문서표현
- HTML5 서식
- html input 요소
- HTML 요소 속성으로 CSS 적용
- html s del
- Kill
- Close
- csharp
- HTML5 새로운 텍스트 요소
- C-Sharp
- HTML5
- html details
- html input 타입
- CSS 스타일 언어
- c#
- Process
- CSS 웹페이지 디자인 정의
- HTML5 문서 구조화
- html ruby
- 외부 CSS 파일 사용
- html datetime
- HTML5 form
Archives
- Today
- Total
개발 STUDY - 1일1글작성
Process - Command 명령어 실행하고 결과 출력하기 본문
실행 환경 | ||
OS | Windows 10 Pro 버전 1903(OS 빌드 18362.836) |
|
Language | C# | |
.NET | .NET Framework 4 | |
IDE | Visual Studio Community 2017 |
Process 클래스는 프로세스에 대한 액세스를 제공하고 프로세스를 시작하고 중지할 수 있습니다.
- 프로세스 실행 및 종료는 이전 포스팅을 확인해주세요.
2020/05/31 - [C#] - Process로 외부 프로세스 실행하기
2020/06/01 - [C#] - Process - 실행중인 프로세스 찾아서 종료하기
- ProcessStartInfo 클래스의 WorkingDirectory 메서드는 프로세스의 작업 디렉터리를 가져오거나 설정합니다.
- ProcessStartInfo의 UseShellExecute는 프로세스를 시작할 때 운영 체제 셸을 사용할지 여부를 설정합니다. 프로세스를 시작할 때 셸을 사용하려면 true, 실행 파일에서 직접 프로세스를 만들어야 하면 false 입니다.
- UseShellExecute 속성을 false로 설정하면 입력, 출력 및 오류 스트림을 리디렉션 할 수 있습니다.
- ProcessStartInfo의 RedirectStandardOutput은 프로세스(애플리케이션)의 텍스트 출력을 StandardOutput 스트림에 쓸지 여부를 설정합니다.
- Process의 StandardOutput 은 프로세스(애플리케이션)의 텍스트 출력을 읽는 데 사용되는 스트림을 가져옵니다.
- StandardOutput 속성은 StreamReader 클래스입니다. StreamReader의 ReadToEnd() 메서드는 연결된 스트림의 현재 위치부터 끝까지의 모든 문자를 읽습니다.
private void RunCommandAndRedirect() { Process p = new Process(); p.StartInfo.FileName = "CMD.exe"; p.StartInfo.Arguments = "/c dir"; p.StartInfo.WorkingDirectory = @"C:\\Users\\Administrator\\Pictures"; p.StartInfo.UseShellExecute = false; p.StartInfo.RedirectStandardOutput = true; p.Start(); string output = p.StandardOutput.ReadToEnd(); MessageBox.Show(output); p.Close(); }
Process를 이용하여 dir command 명령어를 실행하고 실행 결과 값을 메세지 박스로 출력해보았습니다.
도스 명령어의 출력 값을 메세지로 잘 뿌려주네요.
ProcessStartInfo 클래스의 Arguments를 사용하여 CMD.exe 프로세스에 "/c dir" 매개변수를 전달했습니다.
command 명령어를 정상적으로 실행시키려면 매개변수로 "/c dir" 지정해줘야 하는 것 같습니다.
"/c dir"의 정체는 뭘까요..? 🤔
우선은 의미를 모른 체 써보았습니다.
내용은 모두 개인 공부 기록 용이기에 부족한 부분이나 내용상 오류가 있을 수도 있습니다.
참고용으로 보시기 바랍니다.
혹 잘못된 내용이 있을 시 댓글 남겨주시면 수정하도록 하겠습니다.
'C#' 카테고리의 다른 글
Process - 실행중인 프로세스 찾아서 종료하기 (0) | 2020.06.01 |
---|---|
Process로 외부 프로세스 실행하기 (0) | 2020.05.31 |
DateTime 비교하기 (0) | 2020.05.30 |
Comments