'도스 명령 팁'에 해당되는 글 1건

  1. 2022.08.24 마이컴 1993년 10월호 - 90개의 팁으로 여는 도스·윈도우 새시대 (2편) 2

 

 

 

 

 마이컴 1993년 10월호 

 특집 - 90개의 팁으로 여는 도스·윈도우 새시대 (2편)

 

 

 

DOS 37. 기능 키로 디네토리에 간단히 접근하기

키 입력 한번으로 파일과 디렉토리가 모두 나열되기를 바라는가? ANSI.SYS의 키를 다시 배치해서 도스 명령어를 기능 키에 할당할 수 있다.  <F10>키에 디렉토리를 이름 순으로 정렬하고 가로로 죽 출력되도록 설정하는 방법을 알아보자.

 

먼저 CONFIG.SYS에 ANSI.SYS가 설치되어 있는지 확인한다. 그런 다음, Autoexec.bat에 다음 문장을 추가한다.

 

ECHO [ ,68; "OIR /O:N /W /P"; 13p


위에서 왼쪽을 가리키는 화살표는 에스케이프(Escape) 문자이다. 도스의 'EDIT' 에서 <CTRL> + <P>dhk  <ESC> 키를 누르면 된다. 이 프로그램은 키를 괄호 안의 내용으로 재할당하기 위해 ANSI.SYS를 사용한다. 에스케이프 문자는 시작을 나타 내고 0, 68은 <F12> 키에 해당한다. 마지막의 13p는 <ENTER> 키에 해당하는 코드이다.

 

 

 


DOS 38. 알아서 쉬어가는 DIR 명령 만들기

골치아픈 선택사항들을 일일이 기억할 필요없이 특별한 순서에 따라서 파일을 보여주는 DIR 명령을 바란다면? 혹은 적절한 때가 되면 알아서 쉬어가며 리스트가 출력되기를 원하는가? 도스 5.0 이상에서 제공되는 SET 명령이 그 문제의 해결사다.

 

Autoexec.bat에 SET 명령을 추가한 뒤, 그저 DIR만 입력하면 원하던 대로 작동되는 컴퓨터를 보게 된다. 만일 알파벳 순서대로 정렬하고자 한다면, 먼저 도스의 에디터에서 Autoexec.bat 파일을 찾아 제일 마지막 줄에 아래 문장을 추가하면 된다.

 

SET DIRCMD = /O:N /P


각종 선택사항을 바꿔주면서 DIR 영령을 자유지재로 요리할 수 있다. 선택사항 /O는 알파벳 순서로 파일을 나열하라는 뜻이다. /P는 화면 가득 리스트 보이면 소프트웨어적으로 화면이 잠시 정지되도록 한다. 알파벳 순차로 정렬하는 대신, 역순으로 정렬하고 싶을 때는 /O: 다음의 N 대신, -N을 넣는다.

 

확장자의 알파벳 순으로 정렬하고 싶으면 /O: 뒤에 E 또는 -E을 입력한다. 파일을 기간에 따라 정리할 수도 있다. D는 오래된 것부터, -D는 최근 것부터 정렬해 준다. 크기에 따라 하고 싶을 때는 작은 것부터 보여주는 S와 큰 것부터 나열하는 -S를, 디렉토리 순서를 처음부터 하고자 할 때는 G, 뒤의 것부터 할 때는 -G로 바꿔주면 된다.

 

 

 


DOS 39. 검은 바탕에 흰 글씨는 이제 그만!

검은색 바탕의 흰색 글씨. 이제 지겨울 때도 되었다. 이럴 때 살짝 몇가지 명령을 사용해 새로운 사용 환경을 꾸려낼 수 있다. 원하는 색은 어떤 것이든지 바꿀 수 있다. 도스 프롬프트에서 명령만 입력하면 화면색을 지정할 수 있다.

 

붉은 바탕에 녹색 글자를 원한다면, 'COLORS GREEN RED'라고 입력하면 된다. 이런 자동 변경의 기쁨을 누리려면 할 일이 세 가지다. 우선 Config.sys 파일에 DEVICE = C:\DOS\ ANSI.SYS 같은 문장이 있는지 확인해서 ANSI 드라이버를 사용 가능 여부를 확인한다.


두번째로는 다음에 나오는 GW-BASIC/QBASIC 프로그램(아스키 형식으로 저장한다)을 파일로 만든다. 이 파일은 COLORS.BAS라고 이름붙히고 베이직 컴파일러가 있는 디렉토리(보통 도스 디렉토리에 있다)에 보관해 둔다.


100 open 'zzzzzz.zzz' for output as #1 

110 zf $ = environ $ ("fgnd") : zb$ = environ $ ('bgnd")

120 zz $ = zf $ : gosub 15 : fgnd $ = zz $

130 zz $ = zb $ : gosub 15 : bgnd $ = right $ (str $ (val(zz $) + 1 ), 2)

140 print #1, chr $ (27) + "[" +fgnd $ + ";" + bgnd $ + "m";: close: system

150 zzz $ = "3 black31red32green33yellow34blue35magenta36cyan37white"

160 zzz $ = zzz $ + "3 black31red 32green33yellow34blue35magenta36cyan37white"

170 zz = instr (zzz $, zz $) : if zz<> then zz $ = mid $ (zzz $, zz - 2, 2)

180 if zz = then zz $ = " ": return else return


세번째로는 베이직과 COLORS.BAS를 실행시키고 사용자가 입력한 색을 바꾸기 위해 짧은 배치 파일을 작성하면 된다. 도스 5.0 이전 버전은 배치 파일의 QBASIC을 GW-BASIC으로 바꿔 입력한다.

 

set fgnd = %1
set bgnd = %2

qbasic /run colors.bas

type zzzzzz.zzz

del zzzzzz.zzz

cls

 

 

 

 

DOS 40. 사용자는 기다릴 수 없다. 컴퓨터여, 알아서 작동하라

전송율이 낮은 모뎀으로 자료를 보내거나 네트워크를 통해 백업받으려고 몇 시간동안 컴퓨터 앞에 꼬박 앉아 있는 지겨운 일은 이제 그만하자. 간단한 배치 파일 하나면 컴퓨터는 알아서 명령이 실행되기 24시간 전까지 기다려준다.

 

WAITTIL 이란 배치 파일이다. WAITTIL 다음에 실행하고자 하는 명령이 언제 실행되어야 하는지 시간만 지정해 주면 된다. 형식은 아래와 같다.

 

◐ 형식 : WAITTIL hh:mm:ss
hh 는 시간 (00 에서 23) 

mm 은분 (00 에서 59) 

ss는 초 (00 에서 59)

각각의 항목은 반드시 두자리 숫자로 쓴다. 초를 0으로 설정할 경우에도 반드시 초까지 표시해야 한다. 

◐ 예 1 : WAITTIL이 오전 3:00까지 기다리게 하기 위해서, WAITTIL 03:00:00 

◐ 예 2 : WAITTIL이 오후 8:25:15까지 기다리게 하려면 WAITTIL 20:25:15


통신 소프트웨어인 '이야기'를 오후 11:30에 시작하기 위해 SENDIT.BAT와 같은 파일을 이용하자.

C:\>copy con sandit.bat

@ECHO OFF

SET WAITTIME = 23:30:00

ECHO WAITING FOR % WAITTIME% WAITTIL % WAITTIME % I /FSEND 

 

SET 명령은 WAITTIL 항목을 오후 11:30이 되도록 도스의 환경 변수를 설정한다. 그 다음 두 줄은 화면에 시간을 표시하면서 WAITTIL에게 시간을 전달한다. 'I'는 전화를 걸고 파일을 업로드하기 위해 호스트 컴퓨터 (HOST COMPUTER)의 프롬프트에 응답하는 FSEND라고 불리우는 스크립트 파일 (SCRIPT FILE)을 실행한다.

 

WAITTIL을 간단히 만들도록 하기 위해서 복잡한 몇 개 항목은 제외하였다. WAITTIL은 램 상주 프로그램이 아니다. 시간, 분, 초는 각각 콜론(:)으로 구분된 두자리 숫자로 입력해야 한다.

 

오전 7시를 지정하려면 반드시 07:00:00이라고 써야 한다. 숫자 하나만 쓰거나 초를 빼먹어도 WALTTIL은 에러 메시지를 출력한다. WAITTIL은 약속 시간이 될 때까지 기다리면서 컴퓨터가 움직이고 있다는 어떤 표시도 보여주지 않는다. 그러나 만일 WAITTIL이 기다리고 있는 동안 배치 파일을 정지시킬 때는 <CTRL> + <C> 키를 눌러 준다. 

 

WAITTIL은 최대 24시간까지 행동을 유보한다. 만일 금요일에 떠나는데 실행은 일요일 아침에 시켜야 할 때처럼 하루보다 더 긴 시간을 필요로 할 때는, 구분되는 WAITTIL 두 개를 사용해서 금요일에 실행시킬 배치 파일을 만들어라. 더 쉽게 예를 들어 설명하겠다. 일요일 새벽 1시에 실행되도록 기다리게 하려면


WAITTIL 01:00:00 

WAITTIL 01:00:00


라고 하면 되고, 세번째 줄에 WAITTIL 01:00:00을 추가하면 월요일 새벽까지 컴퓨터는 기다리고 있는다.


WAITTIL.COM 파일 만들기

아스키 파일로 저장하는 텍스트 에디터로 35줄의 WAITTIL.SCR 파일을 작성한다. 이 파일을 저장한 다음에 도스로 돌아와서 다음 문장을 입력하여 디버거를 실행한다.


DEBUG < WAITTIL.SCR


DEBUG를 끝내면, WAITTIL.COM 파일이 현재 디렉토리에 생긴다(이 파일 크기는 147바이트이어야 한다). 이 파일을 도스의 PATH로 지정된 디렉토리로 옮기면 모든 준비 완료. 

 

N WAITTIL.COM
E 0100 80 3E 80 00 09

E 0105 74 03 EB 55 90

E 010A 80 3E 84 00 3A
E 010F 75 F6 80 3E 87 

E 0114 00 3A 75 EF A1
E 0119 82 00 E8 4C 00 

E 011E 3C 17 77 E5 A2
E 0123 90 01 A1 85 00 

E 0128 E8 3F 00 3C 3B

E 012D 77 D8 A2 91 01 

E 0132 A1 88 00 E8 32
E 0137 00 3C 3B 77 CB
E 013C A2 92 01 B4 0B 

E 0141 CD 21 B4 2C CD
E 0146 21 3A 2E 90 01 

E 014B 75 F2 3A 0E 91

E 0150 01 75 EC 3A 36

E 0155 92 01 75 E6 B8
E 015A 00 4C CD 21 BA 

E 015F 72 01 B4 09 CD
E 0164 21 B8 01 4C CD

E 0169 21 86 C4 25 0F
E 016E 0F D5 0A C3 49

E 0173 6E 76 61 6C 69
E 0178 64 20 54 69 6D

E 017D 65 2E 20 55 73
E 0182 65 3A 20 48 48

E 0187 3A 4D 4D 3A 53

E 018C 53 0D 0A 24 00
E 0191 00 00 

RCX

93

W

Q

 

 

 


DOS 41. 하루에 한번은 컴퓨터에게 잡일을 시켜라 

ALREADY.COM은 하루에 한번씩 컴퓨터로 하여금 동일한 일을 반복하게 하는 프로그램이다. 스스로 만들어져 Autoexec.bat에 추가가 되는 작은 프로그램이다. 자신이 저장한 날짜를 검사함으로써 작동한다.


만일 저장된 날짜가 현재 날짜와 다르면 ALREADY.COM은 현재 날짜를 저장한 새로운 복사본을 알아서 만든다. 그리고 나서 ERRORLEVEL 0으로 종료한다. 만일 프로그램이 그날 이미 한번 실행되었다면 이것은 ERRORLEVEL 1로 종료한다.


아래 리스트를 정확히 입력한 다음, 아스키 형태로 ALREADY.SCR 이란 이름을 주어 저장한다. 도스의 지정된 경로에 DEBUG가 있는지를 확인하고 'C:\>DEBUG <  ALREADY.SCR’을 입력하여 ALREADY.COM을 만든다.

 

N ALREADY.COM

E 0100 BA 2A CD 21 3B 16 37 01

E 0108 75 0B 3B 0E 39 01 75 05

E 0110 B8 01 4C CD 21 89 16 37

E 0118 01 89 0E 39 01 BA 3B 01

E 0120 33 C9 B4 3C CD 21 8B D8

E 0128 BA 00 01 89 47 00 B4 40 

E 0130 CD 21 B8 00 4C CD 21 00
E 0138 00 00 00 41 4C 52 45 41
E 0140 44 59 2E 43 4F 4D 00
RCX
0047

W

Q

 

날마다 할 일을 점검하기 위해 ALREADY.COM을 Autoexec.bat에 집어넣는다. 예를 들어, 매일 아침 자신이 해야 할 일의 목록을 텍스트 파일로 만들어 두거나 컴퓨터가 부팅될 때마다 CHKDSK와 같은 다른 일을 하기를 원할지도 모른다. 결
과적으로 Autoexec.bat는 다음과 비슷하게 될 것이다.

 

ALREADY IF ERRORLEVEL 1 GOTO SKIP

REM Things you do only once a day TYPE TODO.TXT | MORE PAUSE

:SKIP

REM Things you do every boot-up

CHKDSK /F

 

 

 


DOS 42. 더 짧고 더 빠른 지름길(Path) 찾기

배치 파일에 임시 경로(path) 명령을 사용, 도스의 이동 경로를 가능한한 짧게 해야 컴퓨터를 좀더 효율적으로 써 먹을 수 있다. 파일을 찾을 때 검색할 디렉토리 숫자가 줄어 들어 시스템 효율을 좋게 하는 탓이다.

 

임시 경로 명령은 원래의 경로 검색은 임시 파일에서 하도록 바꿔주고, 도스가 특정 응용 프로그램에서 필요로 하는 서브 디렉토리만 검색하도록 하며, 배치 파일 작동이 끝나면 원래 경로로 다시 설정해 준다. 예컨대, HWP를 사용하고 싶다면 다음과 같은 배치 파일을 작성할 수있다.

 

PATH > %TEMP%\SETPATH.BAT

PATH=C:\;C:\DOS;C:\WINDOWS;C:\UTIL;C:\HWP

WIN

CALL %TEMP%\SETPATH.BAT

DEL %TEMP%\SETPATH.BAT

 

첫번째 행은 경로 설정을 이차 배치 파일 SETPATH.BAT으로 보낸다. 두번째 행은 WINDOWS와 HWP 디렉토리만 가리키도록 경로를 설정한다. 셋째 행에서 윈도우를 실행한 다음, 그 다음 행에서 원래 경로로 돌아오게 된다. 마지막 행은 경로를 설정했던 배치 파일 SETPATH.BAT을 지운다(이 파일을 지우는 것은 선택적이다. 도스 프롬프트에서 실행하거나 다른 배치파일에서 실행하려면 그냥 놔두어도 된다).

 

 

 


DOS 43. 반복 입력이 귀찮으면 FOR 문으로 단칼에

FOR 문은 도스 명령어 하나로 파일 여럿을 관리하는 만능키와 같은 명령이다. 다른 파일을 지정할 때 같은 명령을 여러번 입력해야 하는 반복작업을 피하고자 할 때, FOR 명령을 도스 프롬프트나 배치 파일에서 사용하도록 하라. 예를 들어 Autoexec.bat와 Config.sys의 내용을 표시하기 위해서 다음을 문장을 입력 하라.


C:\>FOR %A IN (Autoexec.bat Config.sys) DO TYPE %A


집합을 이루고 있는 괄호안의 항목을 서로 분리하려면 한칸 띄우거나 콤마(,), 세미콜론(;)을 이용한다. 앞에 퍼센트 기호가 있는 변수의 이름 (위에서는 %A)은 아무거나 괜찮다. 만약, 퍼센트 기호가 배치파일 안에서 사용된 경우라면, 도스 프롬프트에서처럼 하나가 아니라 두 개가 와야만 한다(예, %%A).

 

PATH 로 설정해 둔 모든 서브 디렉토리에서 작업하려면 FOR 명령을 PATH 환경변수와 함께 이용한다. 다음의 LISTPATH.BAT은 사용자가 지정한 경로를 순서대로 보여주는 간단한 방법이다.

 

C:\>copy con listpath.bat

@ECHO OFF

FOR %%P IN (%PATH%) DO ECHO %%P

 

 

 


DOS 44. DOSKEY로 활력을

도스키(DOSKEY)는 명령 매크로를 기억하는 것으로 유명하지만 실제 활용범위는 그보다 더욱 넓다. DOSKEY를 이용하면 도스 작업 방법을 바꿀 수도 있다(DIR과 같은 내부 명령어라고 할지라도).

 

도스키를 이용하면 배치 파일을 마치 도스의 내부 명령어처럼 만들어 사용할 수도 있다. 예컨대, DEL 명령을 사용하면서 어떤 파일이 지워지는지 알고자 한다면, 다음 배치 파일을 텍스트에 디터로 입력한다.

 

@ECHO OFF

:TOP

IF (%1)==() GOTO END
FOR %%J IN (%1) DO ECHO About to erase... %%J
ECHO Press Ctrl-break or Ctrl-c to quit

ECHO Press any other key to continue erasing.

PAUSE

DEL %1

SHIFT

GOTO TOP

:END

 

이 프로그램을 아스키 포맷으로 'KILL.BAT' 이란 이름을 주어 저장 한다(이미 DOSKEY를 실행했다고 가정하고). DEL 명령을 사용하는 대신 KILL.BAT으로 쓰려면 다음 명령을 입력한다.


C:\>DOSKEY DEL=KILL $*

 

$*를 삽입하는 것은 DOSKEY가 KILL.BAT이 받는 모든 인자들(PARAMETERS)을 그대로 전달하도록 하기 위함이다. 단, DOSKEY의 이런 흉내내기는 단지 명령 라인에서만 효과가 있다. 배치파일에서는 이전 그대로 실행된다.

 

명령 흉내내기는 초보자들로서는 자칫하면 위험을 가져올 가능성을 미연에 방지할 수 있는 이점도 있다. 키 하나 잘못 눌러 파일과 디스크를 몽땅 지워버릴 수 있는 실수는 에러 메시지를 내보내도록 함으로써 막을 수 있기 때문이다.


C:\>DOSKEY DEL = ECHO Command Not Available
C:\>DOSKEY FORMAT = ECHO Command Not Available

 

 

 


DOS 45. 기능 키를 내 마음대로

사용할 명령어들을 출력하도록 기능 키를 프로그래밍해 복잡한 도스 명령어들을 간단히 해 보자. 간단한 베이직 프로그램인 FKET.BAS로 기능키를 미리 예약해 둔다. 필요하다면, 한번 이상 실행시켜 다시 조정해도 좋다. 먼저, Config.sys에 ANSI.SYS가 설치되어 있는지 확인 한다. 다음 문장이 있으면 설치가 이미 된 상태이다.
DEVICE=C:\DOS\ANSI.SYS


그런 다음, 편집기나 워드프로세서 등으로 아래 프로그램을 입력하고 FKEY.BAS이라는 이름의 아스키 형식으로 저장한다. 프로그램은 GW-BASIC이나 QBASIC에서 실행 된다.

 

100 INPUT "Enter 1-12:", FKNO: IF FKNO<1 OR FKNO> 12 THEN PRINT "ERROR" :SYSTEM
110 IF FKNO<11 THEN FKNO$ = STR$ (FKNO+58) ELSE FKNO$ = STR$ (FKNO + 122) 

120 FKNO$ = RIGHT$ (FKNO$ , LEN(FKNO$)-1)
130 OPEN "zzzzzz.zzz" FOR OUTPUT AS #1: INPUT "String:", FKST$
140 PRINT #1, CHR$(27) + "[0;" +FKNO$ + ;"CHR$(34) +FKST$ + CHR$(34) + "P";

150 CLOSE: SYSTEM

 

마지막으로, 베이직 실행을 위해 다음과 같은 배치 파일을 만든다. 이 파일 이름은 FKEY.BAT라고 짓는다. 이 예는 QBASIC 용이다.


C:\>copy con fkey.bat 

QBASIC FKEY 

TYPE ZZZZZZ.ZZZ 

DEL ZZZZZZ.ZZZ


기능 키를 정의하려면, 도스 프롬프트에서 'FKEY'를 입력한다. 프로그램은 키능 키 번호를 보여주면서 할당하려는 문장이 입력되기를 기다린다. 입력을 끝내면 자신이 도스 프롬프트에서 그 키를 누를 때마다, 그 문장이 나타난다.

 

 

 


DOS 46. 원치않는 파일 한꺼번에 싹~ 

컴퓨터로 작업을 하다보면 확장자 BAK, $$$, TMP를 가진 백업 파일이나 여러가지 불필요한 파일들이 많이 생긴다. 작업 도중에는 필요할지 몰라도 작업이 끝난후에는 귀중한 하드디스크 공간만 차지하며 디렉토리를 지저분하게 만드는 것들이다.

 

여기저기 디렉토리마다 널려 있는 이들을 찾아 지운다는 것도 보통 일은 아니다. 이때, QBASIC에서 KILLBAK.BAS를 이용하면 한꺼번에 싹 지워버릴 수 있다. 도스 버전 5.0 이후부터 쓸 수 있는 프로그램으로 DIR의 선택사항인 /B 와 /S를 활용한 것이다. 편집기나 워드프로세서로 다음 리스트를 입력한다. 단, 처음 부분은 사용중인 시스템 조건에 맞춰 수정하도록 한다. 

 

'Assumptions. These will vary depending on your system

DRIVES = 'C'  'Start with this Drive

TOPDRIVES $ = "E" 'Last real drive in system

TEMPFILE $ = "F:\TEMPFILE. $$$'' 'F is the system's RAM disk

BATFILE $ = "F:\KILLBAK.BAT"

BAD $ (1) = "*.BAK"

BAD $ (2) = "*.$??

BAD $ (3) = "*.TMP"

BADSUM = 3 'Total number of file extensions destined for deletion 'Program starts here

OPEN BATFILE $ FOR OUTPUT AS #2
DO
FOR I% = 1 TO BADSUM

SHELL "DIR" + DRIVE $ + ":\" + BAD $ (I%) +  " /S /B >"  + TEMPFILE $

OPEN TEMPFILES FOR INPUT AS #1

WHILE NOT EOF(1)

LINE INPUT #1, L$

PRINT #2, "DEL" + L$

WEND

CLOSE #1

NEXT I%

DRIVE $ = CHR $ (ASC(DRIVE $) + 1)

LOOP UNTIL DRIVES > TOPDRIVE $

PRINT #2, "DEL" + TEMPFILE $

CLOSE

SHELL BATFILE $

KILL BATFILE $
SYSTEM 

END

 

이를 자신의 유틸리티나배치 파일이 있는 디렉토리에 저장 한다. 이 프로그램은 지정한 확장자 파일만 지우는 배치 파일을 만들어 낸다. 실행 준비가 끝났으면, 베이직 인터프리터를 실행하고 파일을 로드한다. 도스 프롬프트에서 'QBASIC/RUN KILLBAK' 을 입력하면 READA ONLY 파일을 제외한 쓸모없는 파일들이 지워진다.





DOS 47. 16진수 10진수로 빨리 바꾸기

지금 계산기가 없어도 16진수를 10진수로 손쉽고 빨리 바꿀 수 있다. 다음의 리스트는 H2D.COM이란 이름을 가진 작은 진수 변환 유틸리티를 만들어 준다.


N H2D.COM 

E 0100 EB 30 90 00 00 00 00 45
E 0108 72 72 6F 72 3A 20 49 6E 

E 0110 76 61 6C 69 64 20 64 69 

E 0118 67 69 74 20 6F 72 20 6E
E 0120 75 6D 62 65 72 20 74 6F 

E 0128 6F 20 6C 61 72 67 65 0D

E 0130 0A 24 FC BE 81 00 AC 3C

E 0138 20 74 FB 3C 0D 74 37 33 

E 0140 C9 4E AC 3C 20 74 2F 3C

E 0148 0D 74 2B 83 F9 08 74 35

E 0150 41 E8 3A 00 72 2F 51 8B

E 0158 1E 03 01 A1 05 01 B9 04

E 0160 00 D1 E3 D1 D0 E2 FA 03

E 0168 DA 15 00 00 89 1E 03 01 

E 0170 A3 05 01 59 EB CC 8B 1E 

E 0178 03 01 A1 05 01 E8 3F 00 

E 0180 B8 00 4C CD 21 B4 09 BA
E 0188 07 01 CD 21 EB F2 3C 30

E 0190 72 2B 3C 39 77 09 8A D0
E 0198 80 EA 30 32 F6 F8 C3 3C

E 01A0 41 72 1A 3C 46 77 07 8A
E 01A8 D0 80 EA 37 EB ED 3C 61

E 01B0 72 0B 3C 66 77 07 8A D0
E 01B8 80 EA 57 EB DE F9 C3 33

E 01C0 C9 BF 0A 00 33 D2 F7 F7
E 01C8 8B F0 8B C3 F7 F7 8B D8 

E 01D0 8B C6 41 52 0B C0 75 EC
E 01D8 0B D8 75 E8 B4 02 5A 80

E 01E0 C2 30 CD 21 E2 F6 B4 09

E 01E8 BA 2F 01 CD 21 C3

RCX

EE

W

Q


프로그램을 사용하려면 도스 프롬프트 상태에서 H2D를 입력하고 그 다음에 원하는 16진수를 넣는다. H2D는 즉시 해당 10 진수를 보여준다.다시 말하면, HWD A42라고 입력하면 2626이란 답이 나온다. H2D는 16진수로 FFFFFFFF(10 진수로 4,294,967,296) 까지만 받아 들인다. 만일 그 이상 수를 입력하거나 16진수 이외의 문자를 입력하면 에러 메시지가 나온다.

 

 

 


DOS 48. 배치파일로 드라이브 A를 검사한다. 

A 드라이브에서 데이터를 읽거나 쓰는 배치 파일은 디스크가 A 드라이브에 들어 있다고 보고 동작하는 것이다. 그러나 드라이브가 열려 있는데, 배치 파일이 드라이브를 사용 하려고 한다면, 도스는 'Abort, Retry, Fail?' 이라는 메시지를 보낸다.

 

그러나, 좀더 친절한 드라이브로 변화시켜 보자. 드라이브를 검사해서, 열려 있으면 좀더 건설적인 메시지를 내보내는 프로그램과 배치 파일을 만들어 보자. 에디터로 입력하고 ISAREADY.SCR 이라는 이름으로 저장한다.

 

N ISAREADY.COM

E 0100 B8 24 25 BA 13 01 CD 21
E 0108 B4 1C B2 01 CD 21 B8 00

E 0110 4C CD 21 B8 01 4C CD 21
RCX

0018
W
Q


도스 프롬프트에서 ‘DEBUG < ISAREADY.SCR'을 입력한다. 드라이브 A가 준비완료 상태이면 0 을, 비어있을 때 1을 EXIT STATUS 값으로 갖는 ISAREADY.COM 명령을 만든다. 이제 이런 값을 검사하는 배치 파일을 만들자.


C:\>copy con testa.bat
@ECHO OFF

:DISK_LOOP

ECHO Place a usable disk in drive A:
PAUSE 

ISAREADY 

IF ERRORLEVEL 1 GOTO DISK_LOOP

IF NOT ERRORLEVEL 1 ECHO Drive is ready

 

이 파일을 TESTA.BAT이란 이름으로 저장하자. 드라이브 A에서 디스켓을 제거하고 도스 프롬프트에서 TESTA라고 입력한다. 디스크를 넣으라는 메시지가 출력된다. 디스크를 넣으면 준비가 되었다는 메시지가 나온다. 이제 작동 방식을 알았다면 원하는 배치 파일의 적당한 위치에 끼워 넣는다.

 

 



DOS 49. 지워진 파일 복구, UNDELETE 넘어서

큰 실수를 저지었다. 꼭 필요한 파일인데 지워버린 것이다. 즉각적인 응급처치는 도스의 UNDELETE 명령 사용이다. 빠른 응급처치가 생명을 구하듯이 대부분 지워진 파일을 살려낸다. 다시 한번 강조하지만, DEL *. BAK이라고 입력해야 하는데 마지막에 실수로 DEL *.BAT라고 입력했다면 즉시 UNDELETE *. BAT를 쓰라는 말이다.

 

그렇게 하면 지워진 파일 이름이 하나하나 나타난다. 단, 파일 이름의 첫 글자는 물음표이다. 되살리기를 원하는지 물어온다. 'Y'라고 답하면 도스는 잃어버린 파일 이름의 첫번째 문자를 물어온다. 원할때까지 물음에 답하면 복구가 끝난다. 그렇지만, UNDELETE는 불연속적인 영역에 저장된 파일 복구에는 무기력하다. 더욱 강력한 좋은 병기가 요구된다.

 

도스의 MIRROR 명령이다. Autoexec.bat에서 실행하면 MIRROR는 파일이 지워지기 전에 파일 위치 정보를 기록하는 삭제 추적 파일(DELETION TRACKING FILE)을 만든다. 예를 들어 C 드라이브에 대한 삭제를 감시하려면 다음 문장을 이 용한다.


MIRROR /TC


특별히 감시를 원하는 드라이브 이름도 추가할 수 있다.

 

MIRROR /TC /TD /TA


MIRROR의 삭제 추적은 파일 이름의 첫 문자를 굳이 입력하지 않아도 된다. 그러나 이 명령은 파일을 빈번히 삭제하는 사용자의 경우는 시스템 속도가 현저히 감소한다.

 

 



DOS 50. 어느 날 갑자기, 파티션 테이블이 깨졌을 때 

어느 날 갑자기 하드디스크의 파티션 테이블이 손상된 것을 알았을 때, 디스크에서 정의된 몇몇 논리 드라이브에 접근이 불가능해진다. 파티션이 손상된 드라이브에 접근하면 대답은 항상 'Invalid drive specification' 이라는 메시지이다.

 

이럴 때, 하드디스크에 별로 중요한 정보가 없거나 당황한 사용자들은 파티션을 다시 하고 포맷하고자 덤벼든다. 이런 모험 은 하지 마라. 괜히 불필요하게 저장해 둔 자료만 잃는다. 그렇게 용감무쌍해지기 전에 이런 비방을 써 본다. 포맷을 한 공디스켓을 한장 준비하고 다음을 입력한다.


MIRROR /PARTN


플로피 디스켓이 어느 드라이브에 들어있냐고 물어온다. PARTNSAV.FIL이란 이름의 파일로 파티션 테이블을 저장한다. 만일 파티션 테이블이 손상된다면, 플로피 디스크를 넣고 다음을 입력한다.


UNFORMAT /PARTN


도스는 저장된 파일로부터 파티션 테이블을 복구한다. 이제 컴퓨터를 다시 부팅해 보자.

 

 

 


DOS 51. 디스크 백업, 도스 스타일

하드 디스크가 고장이 난다면? 이 질문에 대한 정답은 모든 파일의 백업(BACKUP : 예비 저장) 파일을 받아두는 것이다. 도스 버전 5.0의 백업과 리스토어 명령은 전문 백업 프로그램만큼 화려 하거나 빠르지는 않지만, 추가 비용 부담도 없고 쓸 만하다. 드라이브 C 의 모든 파일을 백업하려면 상당한 양의 디스켓과 시간이 필요하다. 준비가 끝나면, 다음을 입력한다.


BACKUP C:\*.* A: /S


플로피 디스크를 A 드라이브에 넣으라는 메시지가 나올 때마다 RESTORE 할때 헷갈리지 않도록 디스크 순서대로 번호를 차례차례 적어두도록 한다.

 


☞ 잠깐 도움말 - 디스켓 백업과 리스토어

포맷을 안한 디스켓이라도 백업할 때는 문제가 없다. 이 경우는 기존 명령에 /F 선택사항을 추가하면 된다. 도스 4.X와 5.0은 /F 로 포맷되는 디스크 형식도 정할 수 있다. 360K 디스켓이면 다음과 같이 입력한다. 

BACKUP C:\*.* A: /S /F:360


백업 시간을 줄이려면 특별한 경우에만 전체 백업을 하고 간간히 바꿀 필요가 있는 파일만 추가로 백업을 하는 것이다. 도스는 지정하지 않은 파일들은 기억하고 있다. 따라서 사용자가 할 모든 작업은 백업 디스크의 가장 높은 번호를 가진 디스크 넣고 다음과 같이 입력한다.
BACKUP C:\*.* A: /S /M /A


드라이브 C로부터 백업한 파일을 모두 복구하려면 다음을 입력한다.
RESTORE A: C\*.* /S

도스는 백업된 순서대로 플로피 디스크들을 넣기를 기다린다. 번호 표시를 안했다면, 각각의 디스크에서 DIR 명령으로 파일을 확인한다. CONTROL.001이라는 파일이 첫번째이고 CONTROL.002가 두번째 디스크 등의 순서로 나간다. 플로피 디스크중 한두장이 망가졌고 RESTORE가 읽기를 거부하면 개의치 말고 다음 디스크를 넣는다.  순서가 잘못됐다는 도스 경고가 나오면 아무 키나 눌러서 넘어간다. RESTORE는 사용자가 넣은 디스크부터 지속된다.

 

 

 

 

DOS 52. 포맷문의 질문이 지겨워질 때면 포맷을 오토로

FORMAT 명령을 실행하면 듣기 싫은 잔소리처럼 별 필요도 없어 보이는 질문들이 쏟아진다. "디스크를 넣어라, 볼륨 레이블을 넣어라, 또 다른 디스크를 포맷하겠느냐" 등등. 지겹다고 느껴지면? 도움말(/?) 로는 알 수 없는 FORMAT 문이 숨겨둔 두 가지 선택사항으로 이를 해소하자. A 드라이브에서 포맷하려면 다음을 입력한다.


FORAMT A: /AUTOTEST


이 명령은 읽기를 시작하고 드라이브 A에 있는 디스크 포맷을 시작한다. (기본 설정의 용량으로) 포맷이 끝나면, 곧장 도스로 돌아온다. 다시 포맷하려면 단지 <F>)키만 누르면 된다. 바로 전의 명령을 기억해 두었다가 다시 출력해 준다. <ENTER)>키를 누르면 끝. 단지 볼륨 이름만 입력하게 만들고 싶으면 다음 명령을 이용한다.


FORMAT A: /BACKUP


포맷이 끝나면 볼륨 레이블은 입력 할 수 있다. 위의 명령은 회복할 수 있는 포맷(/U)과 부팅이 가능한 시스템 디스크(/S) 등의 선택사항과 함께 쓸 수 있지만, 빠른 포맷(/Q) 은 함께 사용할 수 없다.

 

 

 


DOS 53. DOSKEY 매크로로 파일 삭제 보호하기

도스의 DOSKEY를 이용해 파일 삭제를 보호해 주는 간단한 제안 하나. DOSKEY는 도스의 내부 명령어보다도 우선권이 있어 DEL 명령을 대체할 수 있다. DOSKEY를 Autoexec.bat에서 설치한 후에, 그 다음 줄에 다음 문장을 추가한다.


DOSKEY DELEDEL $1 /P


DEL 명령을 입력할 때마다 삭제 될 모든 파일을 확인해 줌으로써 와일드 카드를 잘못 써서 일어날 수 있는 사고를 방지해 준다. 또 하나, 삭제된 파일을 한곳에 모아 보관하고 싶으면 드라이브 C에 \TRASH라는 디렉토리를 만들어 두려면 다음 문장을 이용한다.


DOSKEY DEL = COPY $1 C:\TRASH DEL $1


이 명령을 사용하면 파일을 지우는 대신 대상 파일들을 TRASH라는 디렉토리로 옮겨놓는다. 'COPY $1 C:\TRASH' 부분을 압축 유틸리티로 저장하도록 수정한다면 디스크 공간을 절약할 수 있다. 이렇게 해두면 설령 실수로 지운 파일이 있다고 해도 다시 복사해 오기만 하면 만사 해결된다. 나중에는 ‘DOSKEY DEL = DEL'을 입력해 DEL 명령을 정상으로 되돌린 후, TRASH 디렉토리에 있는 파일들을 지워버리자.

 

 

 


DOS. 54. 드라이브와 디렉토리 이동을 한번에 

도스를 쓰면서 누구나 느끼는 불편 두 가지. 드라이브와 디렉토리 이동이 동시에 불가능하다는 점과 드라이브 이름과 디렉토리 이름 사이에 반드시 역슬래시(\) 기호가 들어간다는 점이다.

 

CDD.BAT으로 이런 불편을 해소해 보자. 이 파일은 콜론(:)이나 역슬래시(\) 없이도 드라이브와 디렉토리 변경이 되도록 해 준다. 그 대신, CD 명령뒤에 D 자 하나를 더 쓰고 드라이브와 디렉토리 이름 사이에 빈 공간을 주면 된다. CDD.BAT 은 단지 3단계 디렉토리까지만 이동할 수 있다. 그러나 IF문과 CD 문을 필요한만큼 추가하면, 원하는 곳은 어디로든지 옮길 수 있다.

 

C:\>copy con cdd.bat

@ECHO OFF
%1:
IF (%2) = = () GOTO END
cd \%2

cd %3 > nul

cd %4 > nul

:END


D 드라이브의 LETTERS\BUSINESS 디렉토리로 이동하려면 다음과 같이 입력한다.


C:\>COD D LETTERS BUSINESS

 

 

 


DOS 55. 손상된 디스크에서 데이터 점검 

'Sector not found'와 'Data error'. 둘다 읽어야 할 파일이 손상된 디스크 섹터에 저장돼 있다는 메시지이다. 이럴 때는 이 파일을 NUL 디바이스로 복사해서 점검해 본다.


C:\>COPY 파일 이름 NUL


만일 파일 일부가 손상된 섹터에 있다면, 도스는 그것을 알리는 에러 메시지를 출력한다. 파일의 가능한 모든 것을 살리려면 다음을 입력한다.


C:\>RECOVER 파일 이름


RECOVER는 읽을 수 있는 부분의 파일을 읽어 FAT(File Allocation Table)에 배드 섹터임을 표시한다. 파일 크기가 클 때는 데이터의 대부분이 손상되지 않는다. 원래의 프로그램에서는 데이터 파일을 읽을 수 없을지 몰라도 일부분 복구가 가능하다. 그러나, 데이터 파일이 아닌 실행 파일일 때는 운이 없다고 생각하자.

 

 

 


DOS 56. 자주 쓰는 명령을 위한 배치 파일 부트 카운터

Autoexec.bat는 컴퓨터가 부팅될 때마다 모든 명령을 실행한다. 첫번째건 두번째 부팅인건 관계없이 실행 되는 파일이다. 그러나 두번째나 다섯번째 부팅때마다 실행하기를 원하는 명령일 때라면? 

 

간단한 배치 파일 COUNT.BAT로 이 문제를 해결해 보자. 루트 디렉토리에 CYCLE1 이란 이름으로 빈 파일을 하나 만들고, 부팅을 다시 할 때마다 차례대로 이름을 바꿔주는 역할을 맡는다. 밑의 예제는 3회를 주기로 순환하는 것이지만, 반복 주기를 바꾸는 것은 간단하다. 밑의 순환에서 마지막의 재부트 후에 프로그램은 다시 CYCLE1 로 돌아가고 처음부터 다시 시작한다.

 

C:\>copy con count.bat

@ECHO OFF

CLS

IF NOT EXIST CYCLE? GOTO :NO

IF EXIST CYCLE1 GOTO :ONE

IF EXIST CYCLE2 GOTO :TWO

IF EXIST CYCLE3 GOTO :THREE

:NO

TYPE NOTHING > CYCLE1

CLS

PROMPT Take 5 $p$g

GOTO :END

:ONE

REN CYCLE1 CYLCE2

PROMPT Take 1 $p$g

GOTO :END

:TWO

REN CYCLE2 CYLCE3

PROMPT Take 2 Sp$g

GOTO :END

:THREE

REN CYCLE2 CYLCE3

GOTO :NO

:END


도스 프롬프트에서 'COUNT' 라고 입력하면 다른 형태의 프롬프트가 보인다. <F3>키를 누르고 여러번 실행한다. 프롬프트는 회수가 늘어갈 때 마다 바뀌어 나타난다. 간단히 테스트를 해 보고, 위의 배치 파일에서 프롬프트 메시지 부분을 재미있거나 필요한 내용으로 바꿔보는 것도 좋다.

 

CHKDSK /F와 같이 주기적으로 자동 실행해야 하는 명령을 앞의 배치 파일에서 REN과 GOTO 문장 사이에 넣는다. 그리고 나서 Autoexec.bat 파일의 마지막에 C:\COUNT를 추가하면 정기적으로 CHKDSK /F를 실행할 수 있다.

 

 

 


DOS 57. 명령 하나로 디렉토리 이름을 쉽게 바꾸기 

디렉토리 이름을 바꾸려면 파일들을 복사하고 디렉토리를 다시 만드는 등 꽤나 번거롭다. 이 프로그램은 명령어 하나로 그런 일을 모두 해 준다. 디렉토리 안에 서브 디렉토리가 얼마나 존재하건간에.

 

EDITDIR.COM은 디렉토리 안의 파일을 옮기지 않고도 작동하므로 빠르고 간편하다. 아래 내용을 텍스트 편집기로 입력하고 EDITDIR.SCR이라는 이름의 아스키 형식 파일로 저장한다.

 

N EDITDIR.COM

E 0100 80 3E 80 00 04 7D 02 EB
E 0108 40 BA 82 00 BE 82 00 46

E 0110 80 3C 20 75 FA C6 04 00

E 0118 46 89 F7 80 3C 20 74 F8

E 0120 80 3C 0D 74 08 80 3C 20

E 0128 74 03 46 EB F3 C6 04 00

E 0130 B4 56 CD 21 3C 12 75 0C 

E 0138 BA 4E 01 B4 09 CD 21 B8

E 0140 4C 00 CD 21 BA 65 01 EB

E 0148 F2 BA 86 01 EB ED 45 64 

E 0150 69 74 20 63 6F 6D 70 6C

E 0158 65 74 65 64 20 2E 20 2E 

E 0160 20 2E 0A 0D 24 42 61 64 

E 0168 20 63 6F 6D 6D 61 6E 64
E 0170 20 6F 72 20 69 6E 76 61
E 0178 6C 69 64 20 6E 65 77 6E
E 0180 61 6D 65 0A 0D 24 53 79 

E 0188 6E 74 61 78 3A 20 45 44
E 0190 49 54 44 49 52 20 5B 64

E 0198 3A 5D 5B 6F 6C 64 70 61

E 01A0 74 68 5D 6F 6C 64 6E 61

E. 01A8 6D 65 20 5B 64 3A 5D 5B

E 0180 6E 65 77 70 61 74 68 5D

E 0188 6E 65 77 6E 61 6D 65 0A 

E 01C0 0D 24
RCX
00C2
W

Q

 

그리고 도스 프롬프트에서 다음을 입력한다.

 

DEBUG < EDITDIR.SCR


EDITDIR.COM 파일이 현재 디렉토리에 생기게 된다. 예를 들어 C:\DATA\CODS 를 C:\DATA\ DOCS로 바꾸려면 다음과 같이 입력 한다.


EDITDIR.COM C:\DATA\CODS  C:\DATA\DOCS


EDITDIR.COM은 드라이브 하나에서만 작동한다. C에서 D드라이브로 디렉토리를 이동하는 등은 할 수 없다. 두 디렉토리 이름은 형식도 동일해야 한다. 만일 전의 디렉토리 이름에 드라이브 이름을 포함되어 있었다면, 새로 바뀔 디렉토리 이름에도 드라이브 이름이 들어 있어야 한다. 그렇지 않으면 에러 메시지가 나타난다.

 

 

 


DOS 58. 배치 파일 기술 - 키보드 입력받기 

도스 배치 파일이 지닌 큰 익점 중 하나는 키보드로부터 직접 입력받게 된 명령이 적다는 점이다. DEBUG로 만들 수 있는 작은 유틸리티로 이 문제를 해결해 보자. 다음 내용을 텍스트 편집기로 입력하고 INKEY.SCR이라는 이름으로 아스키 형태로 저장한다.

 

N INKEY.COM

E 0100 B4 08 CD 21 C3 01 01 60

E 0108 01

RCX

0009

W

Q


'DEBUG < INKEY.SCR' 을 입력해 INKEY.COM을 만든다. 이것은 입력받은 키의 아스키 코드값 을 되돌려준다. 키 값은 도스의 IF ERRORLEVEL로 확인할 수 있는 형태이다. 대문자와 소문자의 아스키 코드 값이 다르다. 이를 구분하는 것은 사용자가 가진 배치 파일에 달려 있다.

 

다음 배치 파일은 도스 프롬프트상에서 입력한 서브 디렉토리 존재 여부를 검사해 준다. 만일 서브 디렉토리가 없으면, 배치 파일은 서브 디렉토리를 만들 때는 Y, 그냥 넘어간다면 N를 입력하기를 기다리고 있다.


IF EXIST C:\%1\ NUL GOTO EXISTS

: ASK
ECHO Subdirectory does not exist. 

ECHO Create it? (Y/N)? 

INKEY 

IF ERRORLEVEL 78 IF NOT ERRORLEVEL 79 GOTO END 

IF ERRORLEVEL 11 IF NOT ERRORLEVEL 111 GOTO END
IF ERRORLEVEL 89 IF NOT ERRORLEVEL 9 GOTO CREATEIT
IF ERRORLEVEL 121 IF NOT ERRORLEVEL 122 GOTO CREATEIT 

GOTO ASK 

:CREATEIT 

MD C:\1 

GOTO END 

:EXISTS 

ECHO Directory exists! 

PAUSE
:END

 

 

 


DOS 59. 한번에 설정을 바꾸고 다시 부팅하기 

Autoexec.bat이나 Config.sys를 자꾸 복사하지 않고도 드라이버나 램 상주 프로그램들을 추가하고 삭제하고 싶다면, 다음 파일에 관심을 기울이자. 아래 내용을 아스키 텍스트 편집기로 입력하고 CONFIG.BAT 이라는 이름으로 저장한다.


@ECHO OFF
IF %1!==! GOTO INFO 

for %%A in (A a) do if %1==%%A edit c:\autoexec.bat

for %%A in (C c) do if %1==%%A edit c:\config.sys 

shift 

if %1! == ! goto do_it

FOR %%A IN (a a) do if %%a== %1 edit c:\autoexec.bat 

FOR %% A in (C c) do if %%A== %1 edit c:\config.sys 

GOTO END
:info

CLS
echo Type [% A C] to reconfigure your system
echo A to edit AUTOEXEC.BAT

echo C to edit CONFIG.SYS

GOTO END

:do_it

qbasic /run reboot.sys
:END


다음 과정은 QBASIC을 실행시켜 아래 프로그램을 입력한 다음 REBOOT.BAS 라는 이름으로 저장하는 것이다.

 

PRINT

PRINT Press Y to reboot now.

PRINT Press any other key to return to DOS 

DO 

A$ = INKEY$
LOOP UNTIL a$ <> " "

IF a$ = "Y" OR a$ = "y" THEN GOTO WARMBOOT ELSE SYSTEM

:WARMBOOT

DEF SEG =

POKE &H473, &H12

POKE &H472, &H34

DEF SEG = &HFFFF

CALL Absolute() 

 

Autoexec.bat와 CONFIG.SYS 를 수정하려면 다음을 도스 프롬프트에서 입력한다.


CONFIG A C


수정할 필요가 있을 때는 시스템 파일을 각각 시스템 편집기로 불러서 고친다. 수정이 끝나면 부팅을 다시할 것인지 물어온다. Autoexec.bat 만 수정하려면 CONFIG A를, CONFIG.SYS만 수정하려면 CONFIG C를 입력한다.

 

 

 


60. Copy 명령 실수 미연 방지책

COPY 명령을 사용하다가 드라이브 이름 순서를 바꿔 입력해 간혹 낭패를 본 경험은 한두번쯤 가지고 있을 것이다. 설상가상으로 파일 이름까지 같은 경우였다면, 그 때의 당혹 감이란. 먼저 있던 파일은 자취를 감추게 된다.

 

다음의 SAFECOPY.BAT 파일로 그런 부담에서 벗어나 보자. 대상 디스크나 디렉토리에서 복사할 파일과 같은 이름을 가진 파일이 있는지 조사한 다음, 중복되는 이름이 있을 때는 경고 메시지를 보내주는 프로그 램이다.


C:\>copy con safecopy.bat 

@ECHO OFF 

IF "%2" = = " "GOTO ERROR
IF "%2" ==  ".." GOTO ERROR

IF "%2" = = "." GOTO ERROR

IF EXIST %2 GOTO DUPE
COPY %1 %2 

GOTO END 

:DUPE
ECHO A file named %2 already exists.
ECHO Use the COPY command if you really want to copy over %2. 

PAUSE 

GOTO END 

:ERROR
ECHO You must specify a target filename.
ECHO Try again. 

PAUSE
:END
^Z


이 배치파일은 한번에 파일을 하나씩 복사할 경우에만 유용하다. 와일드 카드나 복사할 파일 이름없이 디렉토리나 드라이브에 복사할 때는 에러 메시지가 출력된다. 이런 경우는 사용자가 양쪽 디렉토리를 DIR 명령으로 검사해 이름이 중복되는 파일이 있는지 비교하고 싶을 것이다. 다음에 보여주는 파일은 중복 검사 를 쉽게 해주는 CHCKDUPE.BAT이다.


@ECHO OFF 

IF "%3" == "PRN" GOTO PRINT

IF "%3" = = "prn" GOTO PRINT

DIR %1 /W

DIR %2 /W

ECHO If you see duplicate files you don't want to copy over, press Ctrl-C
Echo Otherwise... 

PAUSE 

:MAKECOPY 

COPY %1 %2 GOTO END

:PRINT
DIR %1 /W > PRN

DIR %2 /W > PAN
ECHO Check printout for duplicate files.
ECHO If you see files you don't want to copy over, press Ctrl-C.
ECHO Otherwise... 

PAUSE 

GOTO MAKECOPY 

:END


CHCKDUPE.BAT는 명령을 출 때, 그 뒤에 복사와 관계된 드라이브와 디렉토리 이름을 같이 입력한다.


CHCKDUPE A: B:


만일 디렉토리 리스트가 화면에서 한번에 보기 너무 길면, <CTRL> + <C>키를 누르고 끝에 PRN을 붙여서 다시 한번 입력한다. 예컨대, 다음처럼 입력하면 된다.


CHCKDUPE A: B: PRN


이 명령을 주면 디렉토리 목록을 프린터로 출력한다. 복사를 원치 않는 파일이 화면이나 프린터에 출력되면 도중에 <CTRL> + <C>키를 누른다. 그렇지 않을 경우는 어떤 키를 눌러도 복사 작업이 진행된다.

 

 

 


DOS 61. 프롬프트 단장하기

PROMPT 명령은 도스 명령 라인의 프롬프트 모양을 결정하는 명령이다. 하드 디스크의 초기 프롬프트는 'C>'의 형태이다. 이 형태를 변형시킨 단정하고 일반적인 형태가 'PROMPT $p$g'으로 만든 'C:\>'이다. 현재 드라이브와 디렉토리를 화면으로 보여준다.

 

색색의 프롬프트로 단장할 수도 있다(Config.sys에 ANSI.SYS 드라이버가 설치되어 있어야 한다). 현재 드라이브와 디렉토리를 붉은 바탕에 흰색으로 출력하고 싶으면 다음 문장을 이용한다.


PROMPT $e[1;37;41m $p$g$e[;37;40m



 

 

 

 

  이글은 지금은 없어진 컴퓨터 잡지, 마이컴 1993년 10월호 기사에서 발췌한 내용입니다
  3편으로 이어집니다

 

글이 마음에 드시면 아래 공감버튼 살짝 눌러주세요.

공감과 댓글은 저에게 큰 힘이 됩니다. 

 

 

 

 

 

728x90
반응형
Posted by 전화카드
,