Thursday, September 11, 2014

ASP 콘솔프로그램 실행 결과 받기

WScript.Shell 객체를 이용하면 외부 프로그램을 실행할 수가 있다.
그런데 외부 프로그램을 실행후 콘솔(커맨드)창의 실행 결과까지도 받을수가 있다.
주로 ASP에서 사용한다.(잘 동작한다.)

기존 객체 실행 프로그램은 wshell.run을 사용하는데 여기서는 wshell.exec를 사용하는것이 다르다.
exec를 사용하면 WshExecObject를 돌려주는데, 이 객체의 readall을 사용하면 결과 화면을 모두 얻어올 수 있다.

'객체 생성
dim wshell
set wshell = server.createobject("wscript.shell")
response.write cmd&"<br>"
'객체 생성 실패시 에러
if wshell is nothing then
 response.write "S201:WScript.Shell Initialization Failure"
end If

Set oExec = wshell.exec(cmd)
'끝날때 까지 기다림
Do While oExec.Status = 0
Loop

'출력 메세지를 화면 출력
output = oExec.stdout.readall
response.write output
'리턴 코드
ret = oExec.ExitCode
response.write "ret="&ret&"<br>"

'객체 소멸
set wshell=nothing

No comments:

Post a Comment