저도 정확한 이유를 모르고 있습니다.
단지, 상상하건데 CGI등의 서비스를 하기 위해서는 standard out을
가로채는 루틴이 필요한데( ... <- 이거 맞나? ) 이런게 돌아가고
있으면 Pipe로 잡아 올려고 해도 잘 안될까요 ??? ^^;;
98에서 님께서 제시한것 비슷한 것을 이용해서 input, output을
리다이렉션 했는데, 언제부턴가 그 기능이 안되서 왜 안되나 한참
고민 했었던 적이 있었습니다. 결론은 퍼스널 웹 서버등을 깔면
그렇게 되더군요. 그게 CGI서비스를 위해서 윈도우즈 표준 DLL을
바꾸는것 같더군요.
.
.
.
급하게 다른 방법을 찾아 보다가 제가 생각해낸 것은 도스시절의
standard 입출력의 방향을 바꾸는 기능이었죠.
그냥
dir
하면 화면에 파일리스트가 찍히지만,
dir >> dirtext.txt
하면 dirtext.txt라는 파일로 출력이 일어나죠.
님이 사용하고 있는 도스용 프로그램의 이름과 출력방향조정자( ??? )인 >>
을 이용해서 text파일로 출력을 가져올 수 있습니다.
그런데 여기에는 조금의 문제가 있습니다.
도스에서 기록한 파일은 약 0.2 - 0.5 초의 인터발이 생기고 윈도우시스템에
보입니다. 그러니까 Text파일을 만들고나서 파일이 있는지 지속적으로
( 약 1-2초 정도 )검사하다가 생기면 이 파일을 읽어야 합니다.
.
.
.
그리고 또 하나의 팁은 << 을 이용해서 도스 프로그램에게 명령을 전달할 수 있습니다.
도스 프로그램이 실행되고 나서 ENTER( 13 문자 )를 요구하고 다시 스페이스 입력을
요구한다면 도스 프로그램을 부르는 문자열에 이 두 문자를 포함시키면 자동으로
ENTER와 SPACE가 입력됩니다.
.
.
.
답이 되었으면 좋겠습니다.
|