l u n a m o t h  4 t h   |  COVER  |  TAG CLOUD  |  GUEST  |  RSS 


| 배치파일 프로그래밍을 기억하시나요?  [소프트웨어 리뷰]

The Home Page of Timo Salmi, ts(a)uwasa.fi

티모 살미 교수, 이 이름을 기억하는 분이라면 분명 도스 세대이며 배치 파일(batch file) 프로그래밍에 관심을 가졌던 분일겁니다. 도스 시절 일괄처리 파일에 불과한 .bat 파일을 가지고 환경변수와 각종 트릭을 이용해 프로그램 수준까지 끌어올린 분들이 몇분 있었습니다.

아울러 이런 배치파일을 HyperWare의 TURBOBAT 라는 배치파일 컴파일러로 별도의 .com 파일로 변환을 해서 배포하기도 했고요. 이를테면 강민기님의 TEP, 임상호님의 RAE 처럼 말이죠. 두 프로그램 모두 범용 압축파일관리자 였던걸로 기억이 납니다.

이런 배치 프로그래밍에 있어 일종의 교범역을 한것이 바로 티모 살미 교수의 Useful MS-DOS batch files and tricks 입니다. (10년 넘게 업데이트하고 있었군요!) 가지각색의 기발한 트릭들이 배치파일의 한계를 뛰어넘을 수 있기에 충분했고요. 배치파일 프로그래밍시 많이 응용하기도 했었습니다.

문득, 루저님(IEToy, AD-Free)의 블로그에서 Batch File Programming: Stupid Useless Tricks 란 글을 보니 예전 생각이나 다시금 찾아봤습니다. 기억을 더듬어 트릭들을 살펴봐야 겠네요. ;)

Windows 95 / DOS 7 Batch Programming - Eric Phelps
Batch file - Wikipedia, the free encyclopedia

2005-11-08 오전 4:17 추가
The DOS Underground
2005/07/09 19:15 2005/07/09 19:15



Posted by lunamoth on 2005/07/09 19:15
(2) trackbacks | (32) comments

     trackback  click!

    추억이 잠들어있는 천리안 자료실 x
    【 Tracked from 하늘이의 생각나무 at 2005/07/10 01:35 】
    lunamoth님의 '배치파일 프로그래밍을 기억하시나요?'라는 글을 읽고 오랜만에 보는 배치파일 이야기에 댓글을 남겨두고 잠시 후 lunamoth님이 남겨주신 댓글에 갑자기 머리속에 잊혀졌던 기억들이 다시 되살아나는 듯한 느낌으로 수많은 추억들이 머릿속..

    [참고] 다른 shell x
    【 Tracked from TOMOYO at 2005/12/29 11:26 】
    Shell (computing) COMMAND.COM of DOS DOS의 shell인 COMMAND.COM 의 특징은 다음과 같다. ********* 참고로, DOS에선 DOS Shell이라는 명칭이 Mdir이나 Norton Commander같이 화살표키로 파일을 선택할 수 있는 일종의 프로그램의 명칭으로 받아들..


    역시 도스 배치파일을 보면 인간의 정신력은 무한하다 라는 말을 새삼 느끼게 했었죠 ㅋ

    JJ∞n X 2 2005/07/09 19:18 r x
    와우 저도 옛날에 터보배치 등등 BAT 컴파일러등을 이용해서 배치 파일 프로그래밍에 푹 빠졌었는데..ㅠ_ㅜ)=b (맨날 만들어서 천리안 공개 자료실에 올리곤..;;; )
    지금은 거의다 까먹었군요. 특이 NCOMMAND 라고 해야 하나 NDOS 라고 해야 하나에서 지원하는 명령어들이나, 터보배치에서 지원하는 추가적인 명령어들을 이용하면, 머 컴파일 한 다음에는 배치 파일인줄 몰라볼 정도까지 였으니...

    하늘이 2005/07/09 20:09 r x
    JJ∞n X 2님 // 이게 재밌는게 제한된 범위를 트릭을 이용해서 확장한다는 측면이었죠. 저도 이런저런 트릭들을 보면서 참 신기해 했었죠 ;)

    하늘이님 // 허헛; 하늘이님도 배치파일 프로그래밍에 관심이 있으셨군요. 음... 검색중... 인스터 2.00(설치 프로그램 만들기), 두두유틸리티, 파워 쉘 어떤건지 잘모르겠군요. 확인 부탁드립니다. 한번 받아보겠습니다 ^^;

    그렇죠 노턴에 포함되어 있던 ndos나 4dos와 같은 확장? 도스 명령어들이나 TuboBat 에서 지원하는 명령어를 쓰면 더 강력했죠 ;)

    lunamoth 2005/07/09 20:24 r x
    배치파일 프로그래밍 까지는 아니어도 autoexec.bat 를 가지고 장난쳐서 첫 부팅시 여러가지 작업을 바로 갈 수 있도록 여러 메뉴들을 짰던건 기억이 나네요.. 그걸로 프로그래밍이라.. 왠지 상상이 안가는데요.. ;;

    아돌 2005/07/09 21:19 r x
    아돌님 // 예 소위 멀티부팅의 원조라고 볼수도 있겠죠. autoexec.bat 로 메뉴구성해서 가능했었죠. 윈도우 모드나 특정 게임용 환경설정 등등.

    예 물론 전문적인 프로그래밍 언어와는 차이가 있겠지만 트릭들을 보면 꽤 응용범위가 넓은걸 느끼실 겁니다 ;)

    lunamoth 2005/07/09 21:22 r x
    @echo off

    BAT파일 참 오랜만에 들어보네요. XP부터는 config.sys랑 autoexec.bat 안(못?)건드려서...

    개념 2005/07/09 21:24 r x
    아아 그 시절 프로그램 받아보시면 심히 부끄러운데요;;;; 어헉..ㅠ_ㅜ; 괜시리 말 꺼내서 이런;;;

    하늘이 2005/07/09 21:36 r x
    개념님 // 엇 일본에 계시네요^^; / 그렇죠. XP 에선 autoexec.bat , confign.sys 이 아예 없죠...

    하늘이님 // 하핫;; telnet chollian.net 으로 잠시 찾아봤습니다. 예 추억속에 남겨두는 편이 나을려나요. ;)

    lunamoth 2005/07/09 21:49 r x
    호오! 천리안에 lunamoth 이란 아이디는 없던데, 천리안에서는 다른 아이디를 사용하시나봐요? ^^;

    하늘이 2005/07/10 01:36 r x
    하늘이님 // 예 소위 가족아이디로 썼었더랬죠. 몇년만에 텔넷접속인지 신기하더군요;; 며칠전 우연한 기회에 나우 유머란 가봤는데 하루에 올라오던 글 수가 몇 개 안되더라고요. 하긴 아직까지 있는게 이상한건지... 하이텔은 끝났죠? / 그런데 제 아이디는 왜;;;

    lunamoth 2005/07/10 01:41 r x
    아 자료들을 찾아보시길래, 아이디도 딱 8글자에 혹시나 싶어서 찾아봤는데 없길래 그냥 물어봤죠. 하핫^^

    하늘이 2005/07/10 01:47 r x
    하늘이님 // 엇 트랙백까지, 감사~. 리플달고 왔습니다 ;)

    lunamoth 2005/07/10 01:58 r x
    Autoexec.bat와 Config.sys의 시대는.. 후후..
    숫자조합 잘못해..
    하루종일 잡고 밤샌기억이..

    천사고양이 2005/07/10 14:57 r x
    아 배치파일... 저도 도스세대로 구분지어질지도 모르네요. >.<

    applevirus 2005/07/10 16:33 r x
    천사고양이님 // 설정과의 전쟁?이 과언이 아닐테죠. himem 이니 emm386 이니 다들 마스터하게 됐으니 말이죠... ;)

    applevirus님 // 예 도스 부터 사용한 이라면 배치파일을 단순히 보진 않을테고요 ^^;

    lunamoth 2005/07/10 18:32 r x
    지금도 버전업을 하고 있습니다. 윈도 2003에서 까지 bat는 버전업을 하고 있지요. (이건 MS내부에서 CUI 지원이 형편없어서 못 쓰겠다고 항의해서 버전업하는 것입니다만..)

    그런데 요즘이라면 쓸 필요가 없을 것 같습니다. python, perl의 적역이 그 쪽이니깐요. MS 쪽에서는 javascript에 윈도우에 있는 ActiveX 콘트롤을 연동시켜 윈도우의 대부분을 컨트롤 할 수 있게 나가고자 하지만 그 정도는 이미 python, perl에게는 기본이니깐요. 유닉스/리눅스 계열 처럼 스크립트 작업이라면 스크립트 언어에게 맏기는 것이 정석일 것 같습니다. :-)

    CN 2005/07/10 20:40 r x
    CN님 // 그렇군요. 도스에서는 활용도가 꽤 높았죠. 실행파일 연계부터 일괄처리까지. 역시 윈도우 쪽에서는 크게 쓸일이 없을것 같더군요.

    lunamoth 2005/07/10 20:52 r x
    배치파일 프로그래밍 매우 좋아했는데...ㅎㅎ
    프로그래밍을 좋아하게 된 계기죠.

    MS-DOS 의 Himem.sys, Emm386.exe 로 메모리 할당하고 choice.com , debug.com 등의 프로그램과 연동하여 사용하는 그맛!

    아크몬드 2005/07/10 23:04 r x
    아크몬드님 // 예 "그맛"을 아시는군요 ㅎㅎ^^ 게임할때마다 일일이 설정해가며... 참 노력했죠.;

    lunamoth 2005/07/11 00:39 r x
    기본메모리 최대의 꽁수는
    DOS=HIGH,UMB와LoadHigh=
    컨픽이랑 오토exec잘못 건드리면 부팅을 거부하니..

    QEMM386써보신 분은 없으려나요?

    개념 2005/07/11 23:34 r x
    개념님 // 저도 써봤어요~.. ㅎㅎ
    lunamoth님 // comment 읽다보니 하이텔 VT 얘기가 나와서 한말씀.. 하이텔 VT 도 아직 살아있습니다. 01410, 01411 로도 접속됩니다.. 어제 인터넷 서점을 둘러보다가 피를 마시는 새가 출간됐길래, (이러면 안되지만..T.T) 혹시나 하이텔 시리얼란에 가봤더니 역시나 있더군요.. 모두 다운받아서 열독중입니다..

    (이렇게 쓰니 꼭 제가 주인장 같군요.. ㅋㅋㅋ)

    yulisys 2005/07/12 00:38 r x
    개념님 // loadhigh 와 lh를 써주는 정도의 센스^^; QEMM386 상용 메모리 관리자 아니었나요? 전 안써봤습니다만...

    yulisys님 // 엇 댓글답글 패러디를;; 하이텔 아직 살아있었나요? 아이디는 없습니다만 telnet hitel.net 으로 들어가니 안되더라고요. 아직 있었군요. http://common.paran.com/telnet/hitelnet.htm

    저는 눈마새 정도 읽다가 말았네요. 이영도님 작품 처음읽어 봤는데. 로컬라이제이션?; 이 멋지더라고요. 판타지쪽은 거의 처음 읽어본듯...

    lunamoth 2005/07/12 00:53 r x
    가끔 하늘이님 블로그 돌아보곤 하다가 재미있는 (..) 토픽을 발견했네요.
    배치파일의 힘은 지금도 유효합니다 ㅡ,.ㅡ)乃

    4DOS (또는 NDOS..)같이 그당시 도스 유저가 가렵던 기능을 상당부분 긁어주지는 못하지만 (마소가 하는게 다 그렇져..) Windows NT / 2000 / XP의 커맨드 쉘인 cmd.exe도 나름대로 배치파일 지원을 상당히 강력하게 하고 있습니다 :)

    커맨드 쉘에서 지원하는 기본 명령들이 상당히 강력해졌고, 당연히 루프 명령인 for 명령도 상당히 확장되었지용..
    물론 VBScript / JScript를 이용한 프로그래밍도 가능하지만, 스크립트마저 짜기 귀찮을 때는 그냥 배치 파일로 간단히 스크립팅을 하는 것도 좋습니다.

    특히 %SystemRoot%\help\ntcmds.chm 을 보시면 기본 명령 또는 스크립팅이 가능한 커맨드라인 툴이 잘 정리되어 있으므로.. 참고하시길 :)

    ps. 태터에 백슬래시 처리 관련 문제가 있네요. \n을 CR로 인식하다니;;

    ㅂㄹ 2005/07/12 22:36 r x
    ㅂㄹ님 // 예 반갑습니다. 저도 트릭문서가 아직까지 업데이트 되고 있는게 시기했는데 나름의 이유가 있었군요. for 명령 확장, 스크립트 프로그래밍... 개인적으로 특별히 쓸일이 없어서 한동안 관심을 안두고 있었던것 같습니다 ;)

    lunamoth 2005/07/13 00:47 r x
    DOS시절 저도 강민기님의 TEP 유져였습니다.
    꽤나 인기가 있었죠.. 그후에 여러 비슷한 프로그램들이 많이 나왔었고
    후에 메뉴방식을 차용했던 RAE또한 상당한 인기를 누렸던 기억이 나네요..
    TEP의 경우는 7.3버젼 이후 C++을 이용해 COMMAND.COM 을 메모리에 올리지않고도 가능케하겠다
    하셨는데, 후에 버젼업은 더 이상안한듯..

    저또한 TAP ( 확실히 기억은 안나는.. )
    개발자분에게 연락을 취해 4DOS ( NDOS ) 를 이용해 만든다는 얘기를 듣구서는 잡지의 4DOS 관련 기사나 그외 관련 자료등으로
    어설프게나마 TEP/RAE 를 따라 만들어 친구들에게 나눠준
    기억이 나네요..
    ( 나름대로 버젼별로 백업해둔 5.25 디스켓이 어딘가에.. )

    기억에...
    배치파일은 읽어드릴수 있는 라인이 한정되어있어, 그안에 다 해결해야했는데.. RAE 를 처음 받구선 상당히 놀랐던 기억이 나네요..

    그당시 edit.com 으로 아스키표를 찍던게
    후에 nfo작성에 도움이 되던..
    ( 주요 코드는 외우고 살았더랬죠 )

    몹시 반가운 포스트에 잠시 흥분을..

    mooya 2005/07/19 23:20 r x
    mooya님 // 예 오랜만이네요. 배치파일 프로그래밍 하시던 분들 기억하시다니 반갑습니다 ^^

    예 TEP을 쓰지는 않았습니다만 (MDIR III) 배치프로그래밍이란 점에서 관심이 가더군요. 통신가에서 인기프로그램이었던걸로 기억도 나고요.

    RAE 같은 경우는 지금도 그 마지막 버전 소스가 하드 어딘가에 있을듯 싶네요. 배치파일 정리해서 압축한 파일 안에 말이죠.

    4dos 와 ndos 의 경우는 따로 TurboBat와 맞아 떨어지는 부분만 활용이 가능했을것 같습니다. command.com 을 대치하기 각 실행파일을 함께 배포가 불가능 할테니 말이죠.

    리다이렉션이나 파이프 그리고 따로 배치파일 내에서 배치파일을 생성해 내는 등 여러가지 트릭 들이 재미가 있었죠. 저 같은 경우는 간단한 .com 파일(demoscene 형식의)을 bat 파일로 바꿔서 배치파일안에 플러그인 형식을 넣어본 기억도 나네요 ;)

    lunamoth 2005/07/19 23:45 r x
    도스용 배치파일을 만든것이 있어서 Turbobat를 다운받아
    윈도우나 도스에서(윈98) 실행해 보니 런타임 오류(runtime error 200 at 0a42:0c59라는 오류)가 발생한 후
    전혀 실행이 안되는 군요.... ㅠ.ㅠ 처음 방문에 죄송한 질문이고요... 어떻게 실행해야 제대로 컴파일이 될까요.....
    고수님들 부탁합니다...

    jayuin 2005/09/28 16:39 r x
      TurboBat 가 워낙 오래된 프로그램이라 윈도우 환경에서는 컴파일이 안되는 것 같습니다. 순수 도스? 이를테면 윈도우를 종료하고 도스모드에서 해보시는것이 어느정도 가능성이 있겠네요.

      그런데 굳이 TurboBat 를 써야할 이유라도 있나요? 아 그냥 궁금해서요, 배치 파일 컴파일에 관심이 있는 분이 아직있는것도 의외이기도 했고요...

               lunamoth 2005/09/28 17:14 x
    크... " (큰따옴표) 하나를 텍스트 파일에 적어주는 배치 파일을 만들려고 몇 시간 뒤져봤는데... 실패했습니다. OTL

    wafe 2005/11/29 19:37 r x
      음... 잘 모르겠군요. 손댄지가 오래돼나서. 배치파일로 가능할런지도 모르겠고요. 허허허;

               lunamoth 2005/11/30 01:07 x
    lunamoth님은 저를 잘 모르시겠지만;; 리더나 트위터로 종종 와서 보고 있답니다;;

    저도 최근까지 배치파일로 이것저것을 하고 있습니다-_-;;
    아무래도 저 하는 임베디드 개발환경이 윈도 쪽에 많아서요;;
    http://keeptalk.cafe24.com/tc/search/%EB%B0%B0%EC%B9%98%ED%8C%8C%EC%9D%BC

    요런 짓들을 지금도 합니다 ㅠ.ㅠ

    dawnsea 2010/08/04 10:51 r x
      안녕하세요 dawnsea님 ^^; 아 기억합니다. 블로그도 가본 기억이 나는걸요^^;

      아 ls.bat 멋진데요 ㅎㅎ; 이런 방법이 있었군요^^; 예 여러모로 단순한 방법으로 여러가지를 구현할 수 있는게 매력인듯 싶네요^^

      댓글 남겨주셔서 감사합니다 :)

               lunamoth 2010/08/04 14:29 x
      COMMENT
        



lunamoth
Textcube

Profile
Contact
+ Archives
+ Calendar
+ Categories
+ Recent Posts
+ Recent Comments
+ Recent Trackbacks
+ Blogroll
+ Twitter



Suede
brett anderson
Mr. Saxophone

lunamoth on Twitter
Miranda NG

Follow @lunamoth
http://feeds.feedburner.com/Lunamoth
follow us in feedly