장 - 7
필수 DOS 명령어
소개
디스크에서 데이터를 복구하려고 할 때, 손실을 복구하는 데 얼마나 많은 노력이 필요한지는 데이터 손실 사례에 따라 달라집니다. 많은 경우, 일부 중요한 DOS(디스크 운영 체제) 명령 에 대한 충분한 지식이 있다면 덜한 노력으로 데이터를 복구할 수 있습니다.
어떤 경우에는 똑똑한 생각으로 이러한 명령을 사용하면 프로그래밍 없이도 데이터를 복구할 수 있습니다.
당신은 DOS와 명령어에 대해 아무것도 모른다고 가정합니다. DOS 명령어를 소개하는 이 장에서는 데이터를 복구하는 데 도움이 되는 명령어에 대해서만 알아보겠습니다. 먼저 MS-DOS의 발전 과정을 살펴보겠습니다.
약력
MS-DOS 운영 체제는 Intel 8086 마이크로프로세서 제품군을 기반으로 합니다. MS-DOS는 간단한 프로그램 로더에서 개인용 컴퓨터를 위한 복잡하고 안정적인 운영 체제로 발전했습니다.
Microsoft Disk Operating System (MS-DOS) 버전 1.0
IBM은 1980년대 초에 이 컴퓨터를 개발했습니다. 마이크로소프트는 MS-DOS 1.0을 개발했습니다. 1981년 8월에 출시되었으며, 4,000줄의 어셈블리 언어 소스 코드로 구성되었고, 8킬로바이트의 메모리에서 실행되었습니다.
그 후 얼마 지나지 않아 1982년에 320KB 양면 플로피 디스크를 지원하는 MS-DOS 버전 1.1이 출시되었습니다. IBM에서 판매하는 DOS 버전은 IBM-DOS 또는 PC-DOS라고 합니다.
MS-DOS 버전 2.0
IBM이 10메가바이트 하드 드라이브를 개발하기 시작했을 때, Microsoft는 하드 드라이브를 지원하도록 설계된 DOS 버전 2.0을 개발하기 시작했습니다. 지금까지 DOS 1.0은 그 전통에 따라 플로피 디스크 환경에 맞춰 설계되었습니다. DOS 1.0의 주요 한계 중 하나는 디렉토리가 최대 64개의 파일로 제한된다는 것입니다.
MS-DOS 버전 2.0은 계층적으로 설계된 파일 시스템을 포함하도록 설계되었습니다. 계층적 파일 시스템의 중요성은 모든 디렉토리가 파일과 다른 하위 디렉토리를 모두 포함할 수 있다는 것입니다. 계층적 파일 시스템은 이미 UNIX 운영 체제에서 사용되었으며, 이는 MS-DOS/IBM-DOS 운영 체제의 개발 플랫폼으로 사용되었습니다. 사실, MS-DOS의 기본 개념 중 일부는 UNIX와 비슷합니다.
MS-DOS 버전 3.0–5.0
버전 3.0은 IBM PC/AT를 지원하기 위해 1984년 8월에 출시되었습니다. 버전 3.1은 1984년 11월에 출시되었으며 네트워크 지원이 포함되었습니다. 1986년 1월의 3.2버전은 3.5인치 드라이브를 지원했습니다. IBM 3.3 버전은 1987년에 출시되었으며, 주로 IBM PS/2 컴퓨터 계열을 지원하는 것을 목표로 했습니다.
MS-DOS 버전 3.3에는 많은 새로운 기능과 명령이 추가되었습니다. Compaq DOS 버전 3.31에서는 32MB보다 큰 하드 디스크 파티션을 허용했습니다.
MS-DOS 버전 4.01은 32메가바이트보다 큰 파티션도 읽습니다. 원래 MS-DOS 4.0으로 출시되었으나, 몇 가지 사소한 버그로 인해 다양한 수정 사항을 적용한 업데이트 버전 4.01이 출시되었습니다. 이 버전에는 전체 화면, DOS SHELL이라는 메뉴 기반 인터페이스, 그리고 확장 메모리 사양에 대한 추가 지원이 추가되었습니다.
버전 5.0은 이전 버전의 모든 DOS를 대체하기 위해 개발되었습니다. DOS 5.0에서는 IBM과 Microsoft가 모두 동일한 DOS를 판매했으며, 설명서도 비슷했습니다. 메모리 요구 사항이 크게 줄어들었습니다. 확장 및 추가 메모리에 대한 지원이 대폭 개선되었습니다.
이 DOS 버전에는 DOS "EDIT" 편집기가 포함되었습니다. DOS SHELL은 완전히 새로운 것입니다. QBASIC은 BASICA와 GWBASIC을 대체하기 위해 도입되었습니다. 이 버전은 적어도 얼마 전에 실수로 손실된 데이터를 복구하는 방법을 제공했습니다.
MS-DOS 버전 6.0
버전 6.0에는 DOS 성능을 향상시키는 많은 새로운 프로그램이 포함되었습니다. 여기에는 다음이 포함되었습니다.
- Microsoft Double Space는 파일을 압축하여 사용 가능한 디스크 공간을 늘리는 통합 디스크 압축 프로그램입니다.
- Microsoft Mem Maker는 장치 드라이버와 상주 프로그램을 일반 메모리에서 상위 메모리 영역으로 쉽게 옮길 수 있는 메모리 최적화 프로그램입니다.
- 더 많은 상위 메모리 블록에 액세스할 수 있도록 EMM386.EXE 장치 드라이버가 개선되었습니다.
- 프로그램을 로드할 메모리 영역을 지정할 수 있는 향상된 loadhigh 및 devicehigh 명령
- Microsoft Backup은 데이터를 쉽게 백업할 수 있는 프로그램입니다.
- Microsoft Anti-Virus는 다양한 컴퓨터 바이러스를 식별하고 제거할 수 있는 프로그램입니다.
- Microsoft Undelete는 실수로 파일을 삭제한 경우 하나 또는 세 가지 수준의 보호를 선택할 수 있는 향상된 프로그램입니다.
- CONFIG.SYS 파일에 두 개 이상의 구성을 포함하는 기능. 컴퓨터를 켤 때 시작 명령을 우회하는 기능
- MS-DOS 도움말, MS-DOS 명령에 대한 완전한 온라인 참조
MS-DOS 버전 7.0(Windows 95)
DOS는 DOS 및 Windows 3.x 애플리케이션과의 하위 호환성을 위해 Windows 95와 함께 제공됩니다. 다음 표에서 MS-DOS에서 Windows로의 진화를 살펴보겠습니다.
MS-DOS 버전 |
메모 및 코멘트 |
MS-DOS 1.0 |
1981년 IBM PC의 첫 번째 운영 체제 |
MS-DOS 1.25 |
양면 디스크 지원 및 버그 수정 추가 |
MS-DOS 2.0
|
1983년 IBM PC/XT와 함께 출시되었으며 계층적 파일 구조와 하드 디스크 지원이 추가되었습니다. |
MS-DOS 2.01 |
2.0 국제 지원 |
MS-DOS 2.11 |
버그 수정이 포함된 2.01 |
MS-DOS 2.25 |
확장 문자 세트 지원 |
MS-DOS 3.0 |
1.2MB 플로피 디스크 및 더 큰 하드 디스크 지원 추가 |
MS-DOS 3.1 |
Microsoft 네트워크 지원이 추가되었습니다 |
MS-DOS 3.2 |
3.5인치 디스크 지원 추가 |
MS-DOS 3.3 (윈도우 3.3) |
일반화된 코드 페이지(글꼴) 지원 |
MS-DOS 4.0 |
32MB 이상의 논리 볼륨 및 Visual Shell 지원 |
윈도우 1.0 |
MS-DOS용 그래픽 사용자 인터페이스 |
윈도우 2.0 |
OS/2, Presentation Manager와의 호환성 |
윈도우 95 |
사용된 버전 4.00.950 |
윈도우 95 SE |
사용된 버전 4.00.1111 |
윈도우 98 |
사용된 버전 4.10.1998 |
윈도우 98 2판 |
사용된 버전 4.10.2222 |
윈도우 밀레니엄 |
사용된 버전 4.90.3000 |
윈도우 NT |
사용된 버전 4.0 |
윈도우 2000 |
사용된 버전 5.00.2195 |
윈도우 XP |
사용된 버전 5.1.2600 |
필요한 명령
프로그래밍 및 비프로그래밍 기술을 사용하여 데이터를 복구하려고 할 때 유용할 수 있는 몇 가지 중요한 명령을 알아보겠습니다.
속성
ATTRIB 명령은 파일과 디렉토리에 할당할 수 있는 네 가지 속성(읽기 전용, 보관, 시스템 및 숨김) 중 하나 이상을 표시, 설정 또는 제거하는 데 사용됩니다. 일반적으로 읽기 전용, 숨김 및 시스템 속성을 제거하여 파일을 이동하거나 삭제하거나 이동할 수 없도록 설정하는 데 사용됩니다.
통사론:
현재 디렉토리에 있는 모든 파일의 속성 설정을 표시하려면:
속성
디렉토리의 속성을 표시하려면:
ATTRIB 디렉토리 이름
파일의 속성을 표시하려면:
ATTRIB 파일 이름
파일이나 디렉토리의 속성을 설정하거나 제거하려면:
ATTRIB [ + | - R] [ + | - A] [ + | - S] [ + | - H] [디렉토리|파일 이름] [/S]
+ 속성을 설정합니다. - 속성을 지웁니다.
아르 자형 |
읽기 전용 파일 속성입니다. |
에이 |
보관 파일 속성. |
에스 |
시스템 파일 속성 |
시간 |
숨겨진 파일 속성. |
/에스 |
지정된 경로에 있는 모든 디렉토리의 파일을 처리합니다. |
읽기 전용 속성은 파일에 액세스할 수 있지만 수정할 수는 없습니다. 시스템 속성은 일반적으로 DOS 또는 Windows가 제대로 로드하는 데 필요한 파일에 예약되어 있습니다. 숨김 속성이 설정된 파일과 디렉토리는 일반적으로 디렉토리 목록이나 열린 파일 대화 상자에 표시되지 않습니다.
폴더를 숨기는 일반적인 이유는 시스템이나 프로그램 운영에 중요하기 때문에 일상적인 정리 작업에서 삭제하거나 이동해서는 안 되기 때문입니다. 숨겨진 폴더와 시스템 폴더는 종종 읽기 전용 속성이 설정되어 있습니다.
여러 속성은 공백으로 구분된 스위치를 결합하여 설정하거나 지울 수 있습니다. 파일과 디렉토리 모두 ATTRIB를 사용하여 속성을 할당하고 지울 수 있지만 동작 방식에는 차이가 있습니다. 가장 분명한 것은 와일드카드(? 및 *)를 사용하여 파일 그룹의 속성을 표시하거나 변경할 수 있는 반면 디렉토리는 전체 이름을 지정해야 한다는 것입니다. 이 장의 후반부에서 와일드카드와 단축키에 대해 자세히 알아보겠습니다.
파일 속성을 시스템, 숨김 또는 읽기 전용으로 설정하면 DEL, ERASE 또는 MOVE 명령을 사용하여 파일을 삭제하거나 이동할 수 없지만 DELTREE 또는 FORMAT으로부터 파일을 보호하지는 않습니다. 디렉토리의 읽기 전용 속성을 설정할 수는 있지만 이는 별 의미가 없는 듯합니다.
첫째, 이 속성은 디렉토리에만 적용되고 그 안에 있는 파일에는 적용되지 않습니다. 또한 폴더를 읽기 전용으로 설정해도 삭제되는 것을 막을 수는 없지만 Windows 탐색기에서는 폴더가 삭제되거나 이동되기 전에 경고 알림이 표시됩니다.
"readme"라는 파일의 속성을 표시하려면:
ATTRIB readme
"readus.txt" 파일에 읽기 전용 속성을 지정하려면 다음을 사용하세요.
속성 readus.txt +R
"data19.txt"에서 시스템 및 숨김 속성을 제거하려면:
ATTRIB -S -H 데이터19.txt
디렉토리 "c:\mynotes"를 숨기려면
속성 +H c:\mynotes
C:에 있는 디렉토리는 숨기지 않고 파일만 숨기려면
속성 +H c:*.*
CD(또는 CDIR)
지정된 드라이브의 현재 디렉토리를 변경(또는 표시)합니다.
통사론:
현재 디렉토리를 표시하려면:
CD [드라이브:]
현재 디렉토리를 변경하려면:
CD 경로
Path 현재 디렉토리를 path로 변경합니다. 각 드라이브에는 자체 "현재 디렉토리"가 있으며, 변경될 때까지 "현재"로 유지되므로 드라이브 c:의 현재 디렉토리를 변경해도 다른 드라이브의 현재 디렉토리 상태에는 영향을 미치지 않습니다. 다른 드라이브의 현재 디렉토리로 변경하려면 드라이브 문자와 콜론만 입력하면 됩니다.
현재 드라이브가 c:이면 디렉토리를 입력하려면 "
c:\윈도우\자바"
CD \윈도우\자바
현재 디렉토리가 이미 "c:\windows"인 경우 다음만 수행하면 됩니다.
자바 CD
현재 디렉토리 "c:\windows\java"를 부모 디렉토리 "c:\windows"로 변경하려면:
CD..
현재 "c:\windows\java\notes\klip\" 디렉토리에 있다고 가정하고, Windows 디렉토리로 바로 이동하려면 이전 사례에서 한 것처럼 두 개의 점(..)을 더 늘리기만 하면 됩니다. 예를 들어
CD...
c: 드라이브의 현재 디렉토리가 "c:\windows\notes"이고 e: 드라이브의 현재 디렉토리가 "e:\movie"인 경우 "e:\movie"의 모든 파일을 "c\windows\notes"로 복사하려면 다음을 수행합니다.
복사 e:*.* c:
"e:\downloads"의 모든 파일을 c:의 루트 디렉토리로 복사하려면
복사 e:*.* c:\
체크디스크
CHKDSK는 디스크 상태를 확인하고, 일부 디스크 오류를 수정하고, 파일 할당 테이블(FAT) 및 디렉터리 구조에서 발견된 오류를 보여주는 상태 보고서를 표시하는 데 사용됩니다. CHKDSK는 또한 디스크 사용 요약을 표시합니다. 디스크에서 오류가 발견되면 CHKDSK는 경고 메시지를 표시합니다.
통사론:
CHKDSK [경로] [/F] [/V]
경로 확인할 드라이브와 디렉터리를 지정합니다.
/F 디스크의 오류를 수정합니다.
/V 디스크에 있는 모든 파일의 전체 경로와 이름을 표시합니다.
SCANDISK는 훨씬 더 광범위한 디스크 문제를 안정적으로 감지하고 해결할 수 있으며 일반적으로 다소 오래된 CHKDSK보다 선호됩니다. /F 스위치(발견된 오류를 수정하기 위한)는 DOS 및 CHKDSK 자체 외에 다른 프로그램이 실행되는 동안에는 사용해서는 안 됩니다.
CHKDSK는 SUBST를 사용하여 만든 드라이브에서 사용할 수 없으며 네트워크 드라이브에서도 사용할 수 없습니다. win98에서 CHKDSK는 디스크를 검사하지 않지만 여전히 일부 기본 데이터를 제공합니다.
디스크가 충돌하거나 MBR, DBR, FAT 또는 루트 디렉토리가 손상된 경우 CHKDSK 또는 SCANDISK 또는 기타 디스크 검사 프로그램으로 디스크를 검사해서는 안 됩니다. 데이터 정보가 왜곡되어 복구하기 어려울 수 있습니다. 이뿐만 아니라 데이터를 완전히 복구하지 못할 수도 있습니다. |
클레스(CLS)
명령 프롬프트와 커서만 남기고 화면을 지웁니다.
통사론:
클레스(CLS)
명령
명령 인터프리터의 새 사본을 시작합니다.
통사론:
COMMAND [경로] [장치] [/스위치]
Path command.com이 포함된 드라이브 및 디렉토리. command.com이 루트 디렉토리에 있지 않으면 지정해야 합니다.
장치 명령 입력 및 출력에 사용할 장치입니다. 기본적으로 키보드와 모니터입니다.
/P 새로운 명령 인터프리터를 영구적으로 만듭니다.
/E:x 초기 환경 크기[바이트]를 설정합니다. x는 256~32,768바이트 사이로 설정해야 합니다. 기본값은 256바이트입니다.
/L:y 내부 버퍼 길이[바이트]. y는 128~1,024바이트 사이로 설정해야 합니다. 이 스위치는 명령 인터프리터가 영구적인 경우에만 허용됩니다. /P 스위치도 설정해야 합니다.
/U:z 입력 버퍼 길이[바이트]. z는 128~255바이트 사이로 설정해야 합니다. 기본값은 다음과 같습니다. ? 이 스위치는 명령 인터프리터가 영구적인 경우에만 허용됩니다. /P 스위치도 설정해야 합니다.
/MSG 모든 오류 메시지를 메모리에 저장합니다. 이 스위치는 명령 인터프리터가 영구적인 경우에만 허용됩니다. /P 스위치도 설정해야 합니다.
/LOW COMMAND를 낮은 메모리에 유지하도록 강제합니다.
/Y /C 또는 /K로 지정된 일괄 프로그램을 단계별로 실행합니다.
/C 명령 명령을 실행하고 종료합니다. 이것은 명령줄의 마지막 스위치여야 합니다.
/K 명령 명령을 실행하고 계속 실행합니다. 이것은 명령줄의 마지막 스위치여야 합니다.
복사
COPY의 주요 용도는 하나 이상의 파일을 다른 위치로 복사하는 것이지만, 파일을 결합(추가, 연결)하고 파일, 프린터 또는 다른 장치에 직접 입력하는 데에도 사용할 수 있습니다.
통사론:
복사 [/A | /B] 소스 [/A | /B] [+ 소스 [/A | /B] [+ ...]]
[목적지 [/A | /B]] [/V] [/Y | /-Y]
소스 복사할 파일입니다. 이것은 단일 매개변수여야 하지만 와일드카드(* 또는 ?)를 사용하여 지정된 여러 파일을 포함할 수 있습니다. 유효한 장치(예: CON)일 수도 있습니다.
COPY CON NOTES.TXT와 같은
이제 텍스트를 쓰거나 복사한 후 Ctrl+Z 키를 눌러 나오세요.
대상 새 파일의 디렉토리 및/또는 파일 이름입니다. 대상이 지정되지 않으면 소스는 원본과 동일한 이름과 생성 날짜로 현재 디렉토리에 복사됩니다. 소스가 현재 디렉토리에 있는 경우 "파일을 자체로 복사할 수 없습니다"라는 오류 메시지가 표시됩니다.
파일 /A COPY가 해당 파일을 ASCII 텍스트 파일로 처리하도록 합니다.
파일 /B COPY가 해당 파일을 이진 파일로 처리하도록 합니다.
/V 새 파일을 읽을 수 있는지 확인합니다.
/Y 파일을 덮어쓰기 전에 경고 메시지를 표시하지 않습니다.
/-Y 파일을 덮어쓰기 전에 경고를 표시하고 확인을 요청합니다.
명령줄에서 사용할 경우, destination에 지정된 파일이 지정된 위치에 이미 있는 경우 COPY는 기본적으로 경고 메시지를 표시하고 이전 파일을 덮어쓰기 전에 확인을 요구합니다. 반면, COPY를 배치 파일에서 사용하면 기존 파일은 경고 없이 덮어쓰기됩니다.
이 기본 동작은 COPYCMD 환경 변수에서 /Y | /-Y 스위치를 미리 설정하여 수정할 수 있으며 명령줄에서 /Y | /-Y 스위치를 사용하여 재정의할 수 있습니다.
COPY는 길이가 0바이트인 파일을 복사하지 않고, 대신 그런 파일을 삭제합니다. XCOPY를 사용하여 이런 파일을 복사합니다. 소스 및/또는 대상은 파일이 아니라 적절한 장치(예: CON, COMx 또는 LPTx, 여기서 x는 1,2,3 제외)일 수 있습니다.
상황에 따라 Copy는 파일을 바이너리 또는 ASCII 텍스트 파일로 취급합니다. 기본적으로:
- 한 위치에서 다른 위치로 파일을 복사할 때(ASCII 여부에 관계없이) COPY는 바이너리 모드를 가정합니다.
- 파일을 연결할 때 COPY는 ASCII 모드를 가정합니다.
- 소스 또는 대상이 장치(디스크 제외)인 경우 복사는 ASCII 모드를 가정합니다.
이진 모드에서 작동할 때, COPY는 파일 할당 테이블에서 파일의 시작 위치를 확인하고 해당 지점부터 해당 파일에 할당된 바이트 수를 복사합니다.
ASCII 모드에서 데이터는 End-Of-File(ASCII 문자 번호 26; Ctrl-Z) 문자에 도달할 때까지 복사됩니다. 이 문자는 복사되지 않지만 COPY는 새 파일을 닫기 전에 EOF 문자를 추가합니다.
이 복잡한 절차를 통해 COPY는 파일을 연결하고 파일이 아닌 입력(예: 키보드)으로 작업할 수 있습니다. 기본 모드가 부적절한 몇 가지 경우, 필요에 따라 소스 및/또는 대상 파일에 /A 또는 /B 스위치를 추가하여 재정의할 수 있습니다.
현재 드라이브와 디렉토리에 있는 "note.txt"를 "mynotes" 디렉토리로 복사하려면:
COPY note.txt c:\mynotes
또는
메모.txt를 c:\mynotes\에 복사하세요.
첫 번째 경우, "mynotes" 디렉토리가 존재하지 않으면, "note.txt"가 드라이브 C의 루트 디렉토리에 있는 "mynotes"라는 파일에 복사됩니다. 두 번째 경우, "Invalid Directory" 오류 메시지가 표시됩니다. "mynotes" 디렉토리의 모든 파일을 드라이브 D의 "mynotes backup"이라는 디렉토리에 복사하려면:
복사 c:\mynotes\*.* d:\mynotes backup\
현재 드라이브와 디렉토리에 "note.txt"의 복사본을 만들고 "program note.txt"라고 이름을 지정합니다.
COPY note.txt "프로그램 note.txt"
디버그
DEBUG는 컴퓨터의 일부를 살펴보고 컴퓨터에서 특정 작업을 수행하기 위한 어셈블리 코드를 작성하는 방법입니다. MS-DOS 2.x - 4.x는 DEBUG.COM을 사용했고 MS-DOS 5.x 이상은 DEBUG.EXE를 사용했습니다.
DEBUG.EXE는 숙련된 사용자의 손에 들어가면 단기(RAM)와 장기(하드/플로피/테이프 미디어) 모두 메모리의 내용을 보고 편집할 수 있는 놀라울 정도로 강력한 도구인 작은 프로그램 중 하나입니다. 어셈블리 언어 코드를 컴파일(그리고 어느 정도까지는 디컴파일)할 수도 있습니다.
DEBUG는 바이트 수준에서 파일을 보고 수정할 수 있는 바이트 편집기입니다. 일반적으로 "실행 취소" 명령이 없으므로 권장되므로 사용하기 전에 백업을 만드십시오. DEBUG 유틸리티를 사용할 때는 무엇을 하는지 알고 있어야 합니다.
이것은 하드웨어 수준에서 컴퓨터에 액세스하는 데 사용할 수 있는 강력한 프로그래머 도구입니다. 주의하지 않으면 하드 디스크를 지우거나 키보드를 잠그는 것과 같은 손상을 일으킬 수 있습니다.
통사론:
DEBUG [파일 이름]
DEBUG [[드라이브:] [경로] 파일 이름 [테스트 파일 매개 변수]]
[드라이브:][경로]파일 이름 테스트하려는 파일을 지정합니다.
testfile-parameters 테스트하려는 파일에 필요한 명령줄 정보를 지정합니다.
DEBUG를 시작하는 방법
DEBUG는 두 가지 방법 중 하나로 시작할 수 있습니다.
방법 1:
DOS 프롬프트에서 다음을 입력합니다.
DEBUG(반환)
DEBUG는 하이픈(-) 프롬프트로 응답합니다. 프롬프트가 나타나면 DEBUG는 여러 개의 한 글자 명령 중 하나를 입력하기를 기다립니다. 이런 방식으로 DEBUG를 시작하면 컴퓨터의 내부 하드웨어에서 작업하고 RAM의 모든 메모리 위치의 내용을 볼 수 있습니다. 또한 플로피 또는 하드 디스크의 최대 128개 섹터를 로드하여 내용을 보거나 편집하거나 다른 위치로 옮길 수도 있습니다.
DEBUG는 메모리에 65,535(10진수) 1바이트 위치의 작업 영역을 설정합니다. 이는 16진수로 FFFF바이트와 같습니다. 이 영역의 처음 256(10진수) 또는 100바이트 16진수는 프로그램의 프로그램 세그먼트 접두사(PSP)라고 하는 것을 위해 따로 보관되며 어떤 식으로든 변경해서는 안 됩니다. DEBUG로 메모리에 섹터나 데이터를 로드할 때마다 오프셋 100에서 시작하는 위치에 두어야 합니다.
다음 줄에는 디버그 명령의 예가 나와 있습니다.
디버그
L 0100 0 0 80 (반품)
이 명령에서, 우리는 디버그에게 A 드라이브의 섹터 0부터 시작하여 오프셋 100, 80개(16진수) 섹터를 메모리에 로드하라고 말하고 있습니다. 80개 16진수 섹터는 128개 10진수 섹터와 같으므로 디스크의 각 섹터가 512바이트를 저장하면 메모리에 로드되는 총 바이트 수는 (512 X 128) 또는 65,540바이트(최대)입니다.
방법 2:
DOS 프롬프트에서 다음을 입력합니다.
DEBUG \path\filename (반환)
그러면 DEBUG는 명령줄의 경로 및 파일 이름 필드에 지정된 파일과 함께 자신을 메모리에 로드하고 작업 영역의 오프셋 100에 파일의 첫 번째 바이트를 넣습니다.
이런 방식으로 DEBUG를 시작하면 COM 프로그램이나 ASCII 텍스트 파일을 보거나, 편집하거나, 이동할 수 있습니다. 이것은 COM 프로그램을 DEBUG하거나 수정하는 매우 편리한 방법입니다.
MS-DOS는 두 가지 유형의 프로그램만 제어 하에 실행되도록 허용하며, EXE 또는 COM 확장자로 끝나야 합니다. 이 두 프로그램 유형의 차이점은 DOS가 프로그램의 유지 관리 부분을 처리하는 방식입니다.
이러한 유지 관리 영역은 종종 프로그램 세그먼트 접두사(PSP)라고 불리며, 프로그램에서 따로 보관해야 하는 256바이트 메모리 블록이며, 프로그램이 종료될 때 DOS가 운영 체제로 제어권을 반환하는 데 필요합니다.
많은 세부 사항을 다루지는 않겠지만, 두 가지 프로그램 간의 주요 차이점만 지적하겠습니다.
COM 확장
COM 프로그램은 크기가 65K 바이트를 넘을 수 없는 매우 작고 컴팩트한 프로그램입니다. COM 프로그램의 PSP는 프로그램의 처음 100개 Hex(256 Dec) 위치에 있습니다. COM 프로그램의 첫 번째 명령어는 메모리의 오프셋 100에서 시작해야 합니다.
DOS는 COM 프로그램을 위한 PSP를 생성하므로 프로그램을 어셈블할 때 이에 대해 걱정할 필요가 없습니다. 모든 데이터, 코드 및 스택 영역은 메모리의 동일한 세그먼트에 있습니다(1세그먼트는 64K입니다).
EXE 확장
EXE 프로그램은 200바이트에서 640k바이트까지 어떤 크기든 될 수 있습니다. PSP는 프로그램이 어셈블될 때 프로그래머가 설정해야 합니다. 프로그래머는 프로그램의 첫 번째 명령어가 어디에 있는지 확인합니다. EXE 프로그램은 메모리의 데이터, 코드 및 스택 영역에 대해 별도의 세그먼트를 사용합니다.
EXE와 COM 파일 속성을 비교하면 EXE 프로그램을 어셈블하는 것이 COM 프로그램보다 훨씬 더 어렵다는 것을 알 수 있습니다. 디버그 유틸리티 프로그램은 디버그에 들어갈 때마다 PSP 영역을 설정하여 COM 프로그램에서만 작동하도록 설계되었습니다.
DEBUG에 들어가면 오프셋 100에서 프로그램 어셈블리를 시작할 수 있고 PSP나 데이터, 코드, 스택이 어디에 있는지 신경 쓰지 않아도 됩니다. 메모리에 로드하기 전에 프로그램 이름을 다른 확장자로 바꾸면 DEBUG로 EXE 프로그램을 볼 수 있습니다.
DEBUG가 시작된 후, ?를 입력하여 디버깅 명령 목록을 표시합니다. DEBUG에서 나가려면 "Q"를 입력하고 엔터를 입력해야 합니다. DEBUG 루틴을 실행하려면 "G"를 입력하고 엔터를 입력해야 합니다.
예를 들어 보겠습니다.
DEBUG <돌아가기>
D40:00 <돌아가기>
컴퓨터 포트에 대한 정보가 표시됩니다. 포트가 없거나 응답하지 않으면 해당 포트의 상태가 00으로 표시됩니다.
이제 Q를 입력하여 돌아가세요.
Q <돌아가기>
DEBUG가 호출되면 다소 난해한 "DEBUG 프롬프트", 하이픈(-)이 표시됩니다. 프롬프트에서 다음 "DEBUG 명령"이 유효합니다.
명령 |
매개변수 |
행동 |
? |
|
DEBUG 명령 목록입니다. |
에이 |
[주소] |
모으다 |
기음 |
범위 주소 |
비교하다 |
디 |
[시작 주소 [종료 주소 | L 범위]] |
메모리 세그먼트를 표시합니다. 기본적으로 시작 주소 는 메모리의 첫 번째 자유 세그먼트의 오프셋 100이거나 DEBUG로 로드된 파일이 포함된 세그먼트의 오프셋 100입니다. 기본 종료 주소는 017F(128바이트 범위)입니다. |
그리고 |
주소 [목록] |
입력하다 |
에프 |
범위 목록 |
채우다 |
G |
[=주소] [주소들] |
가다 |
시간 |
값1 값2 |
마녀 |
나 |
포트 |
입력 |
엘 |
- |
이전에 "이름이 지정된"( N 명령으로) 파일을 메모리에 로드하여 볼 수 있고 편집할 수 있습니다. |
엘 |
숫자 |
"범위" 인수를 허용하는 명령과 함께 사용되어 바이트 수를 나타냅니다. 일반적으로 인수에서 다음과 같이 사용됩니다. 시작 주소 L 숫자 . 숫자가 세그먼트 끝을 지나서 끝 주소를 가져와야 하는 경우 숫자 가 잘려서 끝 주소가 세그먼트의 마지막 바이트가 됩니다. |
중 |
범위 주소 |
이동하다 |
N |
[경로] 파일 이름 [인수 목록] |
DEBUG를 위한 파일 "이름". 파일은 보기/편집을 위해 로드되기 전에 "이름"이 지정되어야 합니다. |
그만큼 |
포트 바이트 |
산출 |
피 |
[=주소] [숫자] |
진행하다 |
큐 |
|
DEBUG를 종료합니다. |
아르 자형 |
[등록하다] |
등록하다 |
에스 |
범위 목록 |
찾다 |
티 |
[=주소] [값] |
추적하다 |
안에 |
[범위] |
미조립 |
안에 |
[주소] [드라이브] [첫 번째 섹터] [번호] |
쓰다 |
샤 |
[#페이지] |
확장된 메모리 할당 |
ㅋ |
[핸들] |
확장된 메모리 할당 해제 |
엑스엠 |
[L페이지] [P페이지] [핸들] |
확장된 메모리 페이지 맵 |
엑스 ... |
|
확장된 메모리 상태 표시 |
DEL(또는 지우기)
지정된 파일을 삭제합니다. DEL과 ERASE는 동의어입니다.
통사론:
파일을 삭제하려면:
DEL [경로] 파일 이름 [/P]
파일 이름 삭제할 파일의 이름입니다.
/P 각 파일을 삭제하기 전에 강제로 확인합니다.
확인과 함께 디렉토리의 모든 파일을 삭제하려면:
DEL 경로 또는
DEL 경로 \*.*
확인 없이 디렉토리의 모든 파일을 삭제하려면:
길\?*.*
DEL은 삭제할 내용을 지정하는 매개변수를 하나만 허용합니다. 그러나 이 매개변수는 와일드카드를 사용하여 작성하여 여러 파일을 삭제할 수 있습니다. 두 개 이상의 매개변수가 감지되면 명령이 중단되고 오류 메시지가 표시됩니다.
DEL은 공백이 있는 긴 파일 이름으로 여러 매개변수로 해석되어 오류가 발생합니다. 공백이 있는 긴 파일 이름을 따옴표로 묶으면 문제가 해결됩니다. 예를 들어 보겠습니다.
D:\>del note 2.txt
매개변수가 너무 많습니다 - 2.txt
D:\>del "노트 2.txt"
디:\>_
DEL은 읽기 전용, 숨김 및/또는 시스템 속성이 설정된 파일을 삭제하지 않습니다. 이러한 파일을 삭제하려면 DELTREE를 사용하거나 ATTRIB 명령으로 필요한 속성을 수정할 수 있습니다.
델트리
파일과 디렉토리를 삭제하고, 그 안에 있는 모든 하위 디렉토리와 파일을 삭제합니다.
통사론:
디렉토리와 그 안에 포함된 모든 하위 디렉토리와 파일을 삭제하려면:
DELTREE [/Y] 디렉토리
디렉토리 삭제할 디렉토리입니다.
/Y 삭제 전 확인 메시지를 표시하지 않습니다.
모든 파일과 하위 디렉토리를 삭제하고 디렉토리 자체는 그대로 두려면:
DELTREE [/Y] 디렉토리\*.*
파일을 삭제하려면:
DELTREE [/Y] 파일 이름
DELTREE 명령은 파일이 숨김, 시스템 또는 읽기 전용으로 표시되었는지 여부에 관계없이 디렉토리나 하위 디렉토리에 포함된 모든 파일을 삭제합니다.
DELTREE 명령은 와일드카드를 지원하지만, 약간 주의해서 사용해야 합니다. 디렉토리 이름과 파일 이름 모두에 맞는 와일드카드를 지정하면 디렉토리와 파일이 모두 삭제됩니다.
DELTREE 명령으로 와일드카드를 지정하기 전에 DIR /A 명령을 사용하여 삭제할 파일과 디렉토리를 확인합니다. 모호한 지정으로 인한 놀라움을 피하기 위해 전체 경로를 지정하는 것이 가장 안전합니다. 몇 가지 예를 살펴보겠습니다.
드라이브 C의 NOTES 디렉토리를 삭제하려면 NOTES 디렉토리의 모든 파일과 하위 디렉토리를 포함합니다.
DELTREE c:\노트
NOTES 디렉토리에 있는 모든 파일과 하위 디렉토리를 삭제하고 나중에 사용할 수 있도록 NOTES 디렉토리를 비워두고 확인 메시지를 표시하지 않으려면:
DELTREE /Y c:\notes\*.*
속성을 재설정하지 않고 c:\data 디렉토리에 있는 읽기 전용 파일 recover.doc를 삭제하려면:
DELTREE /Y c:\data\recover.doc
도스키
DOSKEY는 명령줄 편집을 보다 쉽게 만들고, 이전 명령을 기억하고, 매크로를 기록할 수 있도록 하여 명령줄에서 작업을 지원하도록 설계된 TSR입니다.
통사론:
DOSKEY를 로드하려면:
DOSKEY [/스위치]
스위치 |
그것이 무엇을 하는가 |
/B: xxx |
매크로 및 명령에 대한 버퍼 크기를 설정합니다. xxx 의 최소값은 256이고 기본값은 512(바이트)입니다. DOSKEY가 이미 실행 중이면 버퍼 크기를 변경할 때 다시 로드해야 합니다(/R 사용). |
/E:켜기|끄기 |
매크로가 재생될 때 명령 표시를 활성화합니다. E (에코)는 기본적으로 켜져 있습니다. |
/F:파일 이름 |
파일 이름을 검색합니다 . Macroname=Text 형식의 매크로 목록이 포함된 텍스트 파일입니다. |
/시간 |
메모리에 저장된 모든 명령을 표시합니다. (이 목록은 파일로 리디렉션되지 않습니다). |
/나|오 |
기본적으로 텍스트를 삽입 또는 오버스트라이크 모드로 입력할지 지정합니다. 어느 경우든 <Insert>를 사용하여 대체 모드를 선택할 수 있지만 <Enter>를 사용하자마자 기본값이 재설정됩니다. 기본 모드는 오버스트라이크입니다. |
/케이: xx |
키보드 입력 미리 보기 버퍼의 크기를 설정합니다. 기본값은 15(문자)입니다. DOSKEY가 이미 실행 중이면 버퍼 크기를 변경할 때 다시 로드해야 합니다(/R 사용). |
/엘 |
라인 편집 버퍼의 최대 크기를 설정합니다. 기본값은 128(문자)입니다. |
/중 |
현재 버퍼에 있는 모든 DOSKEY 매크로 목록을 표시합니다. 이 목록은 표준 Dos 리디렉션(>)을 사용하여 텍스트 파일로 리디렉션할 수 있습니다. |
/아르 자형 |
DOSKEY의 새 인스턴스를 설치합니다. DOSKEY가 이미 실행 중이면 버퍼에서 매크로와 명령줄 기록이 모두 지워집니다. DOSKEY의 새 인스턴스를 설치해도 이전 인스턴스는 제거되지 않습니다. 따라서 /R을 사용할 때마다 기존/상위 메모리의 5K가 추가로 사용됩니다. |
매크로 이름 |
매크로의 이름입니다. 이는 Ctrl 및/또는 Alt 키로 수정될 수 있는 하나 이상의 문자로 구성된 문자열입니다. |
텍스트 |
Macroname 에 할당할 텍스트 문자열입니다 . 이는 일반적으로 적절한 매개변수 및/또는 스위치와 함께 하나 이상의 DOS 명령입니다. |
DOSKEY 매크로를 만들려면:
DOSKEY 매크로 이름=텍스트
매크로를 실행하려면:
매크로 이름
스위치 |
그것이 무엇을 하는가 |
/B: xxx |
매크로 및 명령에 대한 버퍼 크기를 설정합니다. xxx 의 최소값은 256이고 기본값은 512(바이트)입니다. DOSKEY가 이미 실행 중이면 버퍼 크기를 변경할 때 다시 로드해야 합니다(/R 사용). |
/E:켜기|끄기 |
매크로가 재생될 때 명령 표시를 활성화합니다. E (에코)는 기본적으로 켜져 있습니다. |
/F:파일 이름 |
파일 이름을 검색합니다 . Macroname=Text 형식의 매크로 목록이 포함된 텍스트 파일입니다. |
/시간 |
메모리에 저장된 모든 명령을 표시합니다. (이 목록은 파일로 리디렉션되지 않습니다). |
/나|오 |
기본적으로 텍스트를 삽입 또는 오버스트라이크 모드로 입력할지 지정합니다. 어느 경우든 <Insert>를 사용하여 대체 모드를 선택할 수 있지만 <Enter>를 사용하자마자 기본값이 재설정됩니다. 기본 모드는 오버스트라이크입니다. |
/케이: xx |
키보드 입력 미리 보기 버퍼의 크기를 설정합니다. 기본값은 15(문자)입니다. DOSKEY가 이미 실행 중이면 버퍼 크기를 변경할 때 다시 로드해야 합니다(/R 사용). |
/엘 |
라인 편집 버퍼의 최대 크기를 설정합니다. 기본값은 128(문자)입니다. |
/중 |
현재 버퍼에 있는 모든 DOSKEY 매크로 목록을 표시합니다. 이 목록은 표준 Dos 리디렉션(>)을 사용하여 텍스트 파일로 리디렉션할 수 있습니다. |
/아르 자형 |
DOSKEY의 새 인스턴스를 설치합니다. DOSKEY가 이미 실행 중이면 버퍼에서 매크로와 명령줄 기록이 모두 지워집니다. DOSKEY의 새 인스턴스를 설치해도 이전 인스턴스는 제거되지 않습니다. 따라서 /R을 사용할 때마다 기존/상위 메모리의 5K가 추가로 사용됩니다. |
매크로 이름 |
매크로의 이름입니다. 이는 Ctrl 및/또는 Alt 키로 수정될 수 있는 하나 이상의 문자로 구성된 문자열입니다. |
텍스트 |
Macroname 에 할당할 텍스트 문자열입니다 . 이는 일반적으로 적절한 매개변수 및/또는 스위치와 함께 하나 이상의 DOS 명령입니다. |
DOSKEY 매크로를 만들려면:
DOSKEY 매크로 이름=텍스트
매크로를 실행하려면:
매크로 이름
DOSKEY 명령 |
그것이 무엇을 하는가 |
왼쪽/오른쪽 커서 |
커서를 한 문자 뒤로/앞으로 이동합니다. |
Ctrl + 왼쪽/오른쪽 커서 |
커서를 한 단어 뒤로/앞으로 이동합니다. |
홈/끝 |
커서를 줄의 시작/끝으로 이동합니다. |
위/아래 커서 |
저장된 명령 목록을 위로(그리고 뒤로) 스크롤합니다. "위로" 키를 누를 때마다 이전 명령이 호출되어 명령줄에 표시됩니다. |
페이지 위/아래 |
버퍼에서 가장 오래된/가장 최근의 명령을 회수합니다. |
F1 |
템플릿에서 다음 문자를 명령줄로 복사합니다. |
F2 + 키 |
템플릿에서 키 까지(키 제외) 텍스트를 복사합니다 . |
F3 |
현재 문자 위치에서 명령줄로 템플릿을 복사합니다. |
F4 + 키 |
현재 문자 위치부터 키 까지의 문자를 삭제합니다(키 제외) . |
F5 |
현재 명령을 템플릿에 복사하고 명령줄을 지웁니다. |
F6 |
명령줄의 현재 위치에 파일 끝 문자(^Z)를 넣습니다. |
F7 |
명령 기록의 번호가 매겨진 목록을 표시합니다. |
Alt-F7 |
버퍼에 저장된 모든 명령을 삭제합니다. |
문자 + F8 |
하나 이상의 문자 Chars를 입력한 후 F8을 누르면 Chars 로 시작하는 가장 최근의 명령이 표시됩니다 . F8을 다시 누르면 Chars 로 시작하는 그 다음으로 최근의 명령이 표시됩니다 . |
F9 + 명령# |
명령줄에 지정된 명령을 표시합니다. |
Alt-F10 |
모든 매크로 정의를 삭제합니다. |
매크로를 삭제하려면:
DOSKEY 매크로 이름=
DOSKEY 특수 문자
다음과 같은 특수 문자를 매크로에서 사용하여 명령 작업을 제어할 수 있습니다.
캐릭터 |
무엇을합니까 |
$ 지 |
출력을 리디렉션합니다. 리디렉션 기호 > 와 동일합니다. |
$$ ... |
파일 끝에 출력을 추가합니다. 추가 기호 >>와 동일합니다. |
$엘 |
입력을 리디렉션합니다. < 기호와 동일합니다. |
$비 |
매크로 출력을 명령으로 전송합니다. 파이프 기호 |와 동일합니다. |
$티 |
DOSKEY 명령줄에서 매크로를 생성하거나 명령을 입력할 때 명령을 구분합니다. |
$$ |
$ 기호에 사용 |
1달러에서 9달러까지 |
매크로가 실행될 때 지정할 수 있는 모든 명령줄 매개변수를 나타냅니다. 배치 프로그램의 %1~%9 문자와 비교 가능 |
$* |
macroname을 작성할 때 지정할 수 있는 명령줄 정보를 나타냅니다. $* 는 대체 가능한 매개변수 $n 과 비슷 하지만, 명령줄에서 macroname 뒤에 입력된 모든 내용은 매크로의 $* 로 대체됩니다. |
너
디렉토리에 있는 파일과 하위 디렉토리 목록을 표시합니다.
통사론:
DIR [드라이브:] [경로] [파일 이름] [/스위치]
스위치 |
그것은 무엇을합니까 |
없음 |
기본적으로 DIR은 다음을 표시합니다.
- 디스크의 볼륨 레이블과 일련 번호를 포함하는 헤더
- FAT에 나열된 순서대로 현재 디렉토리에 있는 모든 파일과 하위 디렉토리의 목록('숨김' 및/또는 '시스템'으로 표시된 파일 제외). 각 파일/디렉토리와 함께 크기, 마지막 수정 날짜/시간, 긴 파일 이름이 있습니다.
- 총 파일 수, 누적 크기, 디스크에 남아 있는 여유 공간(바이트)을 포함하는 바닥글입니다.
|
/A [속성] |
지정된 속성이 있는 파일과 없는 파일을 표시합니다. 여러 속성을 공백 없이 지정할 수 있습니다.
속성 (접두사로 "-"를 사용하면 "not"을 지정)
D 디렉터리
R 읽기 전용 파일
H 숨겨진 파일
A 마지막 백업 이후 수정된 파일
S 시스템 파일 |
/O
[정렬순서] |
정렬된 순서대로 파일을 나열합니다.
정렬 순서가 지정되지 않으면 디렉토리가 알파벳순으로 나열되고 그 뒤에 파일이 나열되며, 파일도 알파벳순으로 나열됩니다. 정렬 순서 키의 조합을 지정할 수 있으며 파일은 키 순서대로 정렬됩니다.
sortorder (접두사로 " - "를 사용하면 순서가 반대로 됩니다)
N 이름순(알파벳순)
S 크기순(가장 작은 것이 먼저)
E 확장자순(알파벳순)
D 날짜 및 시간순(가장 빠른 것이 먼저)
G 디렉토리를 먼저 그룹화
A 마지막 액세스 날짜순(가장 빠른 것이 먼저) |
/에스 |
지정된 디렉토리와 모든 하위 디렉토리의 파일을 표시합니다. |
/안에 |
넓은 목록 형식. 파일 및 디렉토리 이름은 5개 열에 나열됩니다. |
/비 |
맨 형식. 파일과 디렉토리는 헤더, 요약 또는 세부 정보 없이 단일 열에 나열됩니다. |
/엘 |
출력은 소문자로 표시됩니다. |
/피 |
각 화면마다 일시 정지, 정보로 가득 차 있습니다. 다음 화면을 보려면 아무 키나 누르세요. |
/다섯 |
자세한 모드로 강제 전환합니다. 표준 정보 외에도 각 파일에 할당된 속성, 마지막 액세스 날짜, 디스크 공간이 표시됩니다. |
/와 함께 |
긴 파일 이름은 파일 목록에 표시되지 않습니다. |
/4 |
날짜를 두 자리가 아닌 네 자리로 표시합니다. |
DIR 명령은 매개변수로 하나의 경로만 허용합니다. 공백이 포함된 긴 파일 및 디렉토리 이름은 따옴표로 묶어야 합니다. * 및 ?와 같은 와일드카드를 사용하여 파일 및 하위 디렉토리의 하위 집합 목록을 표시할 수도 있습니다.
DIR은 표준 마침표(.) 단축키와 함께 사용하여 상위 레벨 디렉토리를 표시할 수 있습니다. 루트 디렉토리, 디렉토리 및 파일을 표시하는 데 필요한 것보다 더 많은 마침표를 사용하는 경우.
리디렉션을 사용하여 DIR 명령의 출력을 파일이나 다른 명령으로 보낼 때, /A:-D를 사용하여 파일만 나열하고 /B를 사용하여 파일 크기, 헤더 및 요약 정보와 같은 불필요한 정보를 피하는 것이 종종 유용합니다. 또한 DIR 명령의 출력이 파이프를 통해 리디렉션될 때 작업이 완료되면 자동으로 삭제되는 임시 파일이 생성됩니다.
기본적으로 이 임시 파일은 "TEMP" 환경 변수에서 지정한 디렉토리에 위치하지만, 지정되지 않았거나 찾을 수 없는 경우 현재 드라이브의 현재 디렉토리에 생성됩니다. DIR 명령도 현재 디렉토리를 참조하는 경우 이러한 임시 파일은 모두 선택되어 목록에 포함됩니다.
디스크 복사
DISKCOPY는 플로피 디스크를 복제하는 데 사용됩니다. 대상 디스크의 모든 데이터가 덮어쓰기됩니다.
통사론:
DISKCOPY 드라이브1: [드라이브2:] [/1] [/V] [/M]
drive1 컴퓨터에 플로피 디스크 드라이브가 하나만 있는 경우 복사할 디스크가 들어 있는 드라이브입니다.
drive2 드라이브1과 다른 경우 복사할 디스크가 들어 있는 드라이브입니다.
/1 디스크의 첫 번째 면만 복사합니다.
/V 정보가 올바르게 복사되었는지 확인합니다.
/M 메모리만 사용하여 다중 패스 복사를 강제합니다.
DISKCOPY는 원본 디스크를 대상 디스크에 바이트 단위로 복사하여 표준 플로피 디스크를 복제하도록 설계되었습니다. DISKCOPY는 하드 드라이브, CD, 네트워크 드라이브 또는 Zip, Jazz 등의 유형 드라이브에서는 작동하지 않습니다. 또한 원본 및 대상 디스크는 동일한 유형, 크기 및 용량이어야 한다는 점도 명심해야 합니다. 그렇지 않으면 오류 메시지가 표시됩니다.
편집하다
간단한 전체 화면 DOS 기반 ASCII 텍스트 편집기입니다.
통사론
편집 [/B] [/H] [/R] [/S] [/nnn] [파일 이름]
/B 흑백 모드를 강제로 실행합니다.
/H 하드웨어에서 가능한 최대 줄 수를 표시합니다.
/R 읽기 전용 모드로 파일을 로드합니다.
/S 짧은 파일 이름을 사용하도록 강제합니다.
nnn 바이너리 파일을 로드하고 줄바꿈을 nnn자 너비로 설정합니다.
filename(s) 로드할 초기 파일을 지정합니다. 와일드카드도 사용할 수 있습니다.
단축키 목록을 보려면 편집기의 "도움말" 메뉴를 보세요.
출구
윈도우 환경의 DOS인 경우 EXIT 명령은 DOS 셸을 종료하는 데 사용됩니다. 일반적으로 MS-DOS 명령 인터프리터(COMMAND.COM)를 종료하고, 명령 인터프리터가 있으면 이를 시작한 프로그램으로 돌아갑니다.
통사론
출구
FC
두 개의 파일 또는 파일 세트를 비교하여 두 파일 간의 차이점을 표시합니다.
통사론:
FC [/스위치] 파일1 파일2
스위치 |
그것이 무엇을 하는가 |
/비 |
이진 비교를 수행합니다.
두 파일은 바이트 단위로 비교되며 불일치를 발견한 후 파일을 재동기화하려는 시도는 없습니다. file1 의 확장자가 .EXE, .COM, .SYS, .OBJ, .LIB 및 .BIN 또는 이와 유사한 경우 파일을 비교하는 기본 모드입니다. |
/엘 |
파일을 ASCII로 비교합니다.
두 파일은 줄별로 비교되고 FC는 불일치를 발견한 후 파일을 재동기화하려고 시도합니다. 이것은 file1에 .EXE, .COM, .SYS, .OBJ, .LIB 및 .BIN 또는 이와 유사한 확장자가 없는 경우 파일을 비교하는 기본 모드입니다. |
/LBn |
내부 라인 버퍼의 라인 수를 설정합니다. 비교되는 파일에 이 수보다 많은 연속된 다른 라인이 있는 경우 FC는 비교를 취소합니다. n
의 기본값은 100입니다. |
/nn |
파일이 재동기화되었다고 선언되기 전에 일치해야 하는 연속된 줄의 수입니다. 파일에서 일치하는 줄의 수가 이 수보다 적으면 일치하는 줄은 차이로 표시됩니다. nn 의 기본값 : 2. |
/N |
ASCII 비교를 통해 줄 번호를 표시합니다. |
/에이 |
ASCII 비교의 출력을 축약합니다. 각 차이점 세트에 대한 첫 번째와 마지막 줄만 표시되는 반면, 모든 다른 줄의 기본값은 표시되지 않습니다. |
/기음 |
문자의 경우는 무시합니다. |
/티 |
탭을 공백으로 확장하지 않습니다.
기본적으로 탭은 공백으로 처리되며 1개의 탭 = 8개의 공백입니다. |
/안에 |
비교를 위해 탭과 여러 개의 공백을 하나의 공백으로 압축합니다. |
file1에 와일드카드가 포함된 경우, 해당되는 모든 파일이 file2와 비교됩니다. file2에도 와일드카드가 포함된 경우, 해당 file1과 비교됩니다. 대부분의 경우, 바이너리 파일은 같은지 아닌지 확인하기 위해 비교됩니다. 단순히 두 바이너리 파일이 같은지 확인하려면 /LB1 스위치를 사용하여 출력을 최소로 줄이기 위해 ASCII 파일로 비교하는 것이 가장 빠릅니다.
처리 시간의 상당한 차이에 대한 예를 살펴보겠습니다. 다음 예를 시도하면 FC를 시간 절약 및 배터리 방식으로 사용하는 방법을 이해할 수 있을 것입니다.
FC c:\windows\command\xcopy.exe c:\windows\command\attrib.exe
FC c:\windows\command\xcopy.exe c:\windows\command\attrib.exe /L
FC c:\windows\command\xcopy.exe c:\windows\command\attrib.exe /L /LB1
FDISK
FDISK는 하드 디스크의 파티션에 대한 정보를 구성 및/또는 표시하는 데 사용되는 메뉴 구동 유틸리티입니다. FDISK 환경에서 무엇을 하는지 알아야 하며, 그렇게 할 때는 반드시 확인해야 합니다. 그렇지 않으면 파티션의 정보가 삭제되거나 변경될 수 있으며 파티션(들) 즉 데이터가 손실될 수 있습니다.
하드 디스크를 DOS에서 인식하려면 마스터 부트 레코드(MBR)를 설정해야 합니다. FDISK는 하드 드라이브 파티션의 크기와 특성을 정의하여 MBR을 만드는 데 사용되는 MS-DOS 유틸리티입니다. MBR은 디스크의 영역을 다음과 같이 정의합니다.
확장 파티션은 하나 이상의 논리 DOS 드라이브를 포함하는 것으로 지정되어야 합니다. 파티션을 제거하면 해당 파티션에 있는 모든 것이 파괴되거나 적어도 데이터를 복구하는 것이 매우 어려워집니다. 이 책의 복구 프로그래밍 섹션에서 Fdisk에 대해 자세히 알아보겠습니다.
찾다
FIND 명령은 파일 또는 파일에서 텍스트 문자열을 검색하는 데 사용됩니다. 지정된 파일을 검색한 후 FIND는 문자열이 포함된 모든 텍스트 줄을 표시합니다.
통사론:
FIND [/V] [/C] [/N] [/I] "문자열" "파일 이름1" "파일 이름2" "파일 이름 ..."
스위치 |
그것이 하는 일 |
/다섯 |
지정된 문자열을 포함하지 않는 모든 줄을 표시합니다. |
/기음 |
문자열을 포함하는 줄의 수만 표시합니다. /V 와 함께 사용하는 경우 FIND는 지정된 문자열을 포함하지 않는 줄의 수를 표시합니다. |
/N |
줄 번호를 줄과 함께 표시합니다. /C 와 /N을 함께 사용하면 /N은 무시됩니다. |
/나 |
문자열 의 문자 대소문자를 무시합니다 . 기본적으로 FIND는 대소문자를 구분하고 정확한 문자 일치를 검색합니다. |
끈 |
찾을 텍스트 문자열. 문자열은 따옴표로 묶어야 합니다. |
파일 이름 |
검색할 파일(들). 파일 이름 에 공백이 없으면 따옴표로 묶을 필요가 없습니다. |
filename이 지정되지 않으면 FIND는 일반적으로 키보드, 파이프 또는 리디렉션된 파일인 표준 소스에서 텍스트 입력을 검색합니다. filename에는 와일드카드를 사용할 수 없습니다. 또한 따옴표는 문자열을 구분하는 데 사용되므로 검색 패턴의 일부로 문자열 내에서 사용할 수 없습니다.
문자열에 따옴표를 포함하려면 FIND가 검색 문자열에서 따옴표로 해석하는 이중 따옴표("")의 "특수 문자"를 사용해야 합니다. 몇 가지 예를 살펴보겠습니다.
문자열 "homework"를 포함하는 파일 "NOTES.TXT"의 모든 줄을 표시하려면:
"숙제" 노트 찾기.txt
문자열에 따옴표가 포함되어 있으면 두 번씩 입력해야 합니다.
FIND """BE 최종학년""의 결과가 표시되지 않았습니다." Result.doc
체재
MS-DOS에서 사용할 디스크를 포맷합니다. 포맷 후에는 디스크에 저장된 데이터가 지워진다는 점을 항상 기억하세요. 포맷 명령을 사용하기 전에 주의하고 확인하고 FORMAT 명령에 입력하는 드라이브 문자를 항상 확인하세요.
통사론:
드라이브 포맷: [/스위치]
스위치 |
그것이 무엇을 하는가 |
/V[:라벨] |
볼륨 레이블을 지정합니다. /V 스위치가 생략되거나 레이블이 지정되지 않으면 포맷이 완료된 후 볼륨 레이블에 대한 프롬프트가 표시됩니다. 볼륨 레이블이 필요하지 않으면 다음을 지정하여 프롬프트를 피할 수 있습니다. /V:""
레이블이 지정되고 세션에서 두 개 이상의 디스크가 포맷되면 모든 디스크에 동일한 볼륨 레이블이 지정됩니다. |
/큐 |
이전에 포맷된 디스크의 빠른 포맷을 강제합니다. 디스크의 파일 할당 테이블(FAT)과 루트 디렉토리는 삭제되지만 불량 영역은 스캔되지 않습니다. |
/에스 |
포맷된 디스크에 시스템 파일을 복사하여 부팅 디스크로 만듭니다. |
/비 |
포맷된 디스크에 시스템 파일을 위한 공간을 할당합니다. |
/F:크기 |
드라이브가 설계된 용량이 아닌 다른 용량으로 디스크를 포맷합니다. 크기는 360, 720, 1.2, 1.44, 2.88이 될 수 있습니다. |
/T:트랙 |
디스크 면당 트랙 수를 지정합니다. |
/N:섹터 |
트랙당 섹터 수를 지정합니다. |
/1 |
플로피 디스크의 한 면을 포맷합니다. |
/4 |
고밀도 드라이브에서 5.25인치 360K 플로피 디스크를 포맷합니다. |
/8 |
트랙당 8개의 섹터 형식 |
/기음 |
현재 "불량"으로 표시된 클러스터를 테스트합니다. 기본적으로 디스크에 "불량"으로 표시된 클러스터가 있는 경우 FORMAT은 클러스터를 다시 테스트하지 않고, 그냥 "불량"으로 표시된 채로 둡니다. |
기본적으로 /Q 스위치를 사용하지 않는 한 디스크의 각 섹터는 포맷 과정에서 검사되어 해당 섹터가 데이터를 제대로 저장할 수 있는지 확인합니다.
불량 섹터가 발견되면 표시되고 사용되지 않습니다. 포맷이 완료되면 총 디스크 공간, 결함으로 표시된 공간, 사용된 공간 및 파일에 사용할 수 있는 공간을 보여주는 메시지가 표시됩니다. SUBST 명령을 사용하여 만든 가상 드라이브에서는 FORMAT을 사용할 수 없습니다.
플로피 디스크를 빠르게 재포맷하는 방법은 다음과 같습니다.
렌 /? | 형식 /q/v:"" > nul
ren /? 부분은 중복된 자료와 함께 FORMAT의 프롬프트에 대한 응답으로 "enter"를 입력하고 그 뒤에 "n, enter"를 입력합니다. >nul은 두 명령의 다소 지저분한 혼합된 출력을 표시하는 것을 방지합니다.
상표
LABEL 명령은 디스크의 볼륨 레이블을 생성, 변경 또는 삭제하는 데 사용됩니다. 디스크의 볼륨 레이블은 볼륨 일련 번호(있는 경우)와 함께 디렉토리 목록의 일부로 표시됩니다.
통사론:
LABEL [드라이브:] [레이블]
드라이브: 이름을 지정할 디스크의 위치입니다.
레이블 새로운 볼륨 레이블입니다.
없음 현재 디스크 레이블이 있는 경우 이를 표시합니다. 새 레이블을 입력하거나 기존 레이블을 삭제하라는 메시지를 표시합니다.
MD(또는 MKDIR)
디렉토리를 만듭니다. MD와 MKDIR은 동일한 작업을 수행하는 동의어입니다.
통사론:
MD [경로] 디렉토리 이름
더
MORE 명령은 파이프나 리디렉션된 파일에서 표준 입력을 읽고 한 번에 한 화면씩 정보를 표시합니다. 이 명령은 긴 파일, 디렉토리 출력 등을 보는 데 일반적으로 사용됩니다.
통사론:
MORE [경로] 파일 이름
더 보기 < [경로] 파일 이름
명령어 | MORE [경로] [파일명]
출력을 표시할 명령입니다.
한 번에 한 화면씩 표시할 파일 이름
MORE filename과 MORE < filename은 TYPE filename | MORE와 동의어이며 동일합니다. 이 모든 경우에 filename은 한 번에 한 화면씩 표시됩니다. "Enter"를 누르면 다음 화면이 표시됩니다. Ctrl-C를 눌러 언제든지 표시를 종료할 수 있습니다. MORE는 자동으로 텍스트를 줄바꿈하여 화면에 맞춥니다.
BIGFILE.TXT라는 큰 텍스트 파일의 예를 생각해 보겠습니다. 이제 다음 세 가지 명령이 동일한 작업을 수행합니다.
TYPE bigfile.txt | 더 보기
더 많은 bigfile.txt
더 보기 < bigfile.txt
이동하다
동일하거나 다른 드라이브의 한 위치에서 다른 위치로 파일과 디렉토리를 이동합니다.
통사론:
MOVE [/Y | /-Y] [경로] 파일 이름 대상
/Y 디렉터리 생성 또는 대상 덮어쓰기 확인 메시지를 표시하지 않습니다. 이는 배치 파일에서 MOVE를 사용할 때의 기본값입니다.
/-Y 디렉토리 생성 또는 대상 덮어쓰기 확인 메시지를 강제로 표시합니다. 이것은 명령줄에서 MOVE를 사용할 때의 기본값입니다.
이동할 파일이 두 개 이상인 경우 대상 경로는 디렉토리여야 하며 파일은 원래 이름을 유지합니다.
RD(또는 RMDIR)
빈 디렉토리를 제거(삭제)합니다. RD와 RMDIR은 동의어이며 동일한 작업을 수행합니다.
통사론:
RD [경로] 디렉토리 이름
path의 첫 번째 디렉토리 이름 앞에 백슬래시( \ )가 있는 경우 해당 디렉토리는 현재 드라이브의 루트 디렉토리의 하위 디렉토리로 간주됩니다. path의 첫 번째 디렉토리 이름 앞에 백슬래시가 없는 경우 디렉토리는 현재 디렉토리의 하위 디렉토리로 간주됩니다.
또한 RD는 빈 디렉토리만 삭제합니다. RD가 파일 및/또는 하위 디렉토리가 포함된 디렉토리에서 사용되는 경우, 컴퓨터에서 오류 메시지가 표시됩니다.
스캔디스크
SCANDISK 디스크 복구 프로그램을 실행합니다.
통사론
현재 드라이브를 확인하고 복구하려면:
스캔디스크
디스크가 충돌하거나 MBR, DBR, FAT 또는 루트 디렉토리가 손상된 경우 CHKDSK 또는 SCANDISK 또는 기타 디스크 검사 프로그램으로 디스크를 검사해서는 안 됩니다. 데이터 정보가 왜곡되어 복구하기 어려울 수 있습니다. 이뿐만 아니라 데이터를 완전히 복구하지 못할 수도 있습니다. |
일반적으로 Scandisk의 DOS 버전은 Windows가 실행되는 동안 실행되지 않습니다. 오류를 알리는 대신 Scandisk의 Windows 버전으로 제어를 자동으로 전송합니다.
유형
TYPE 명령은 ASCII 텍스트 파일의 내용을 화면에 표시하는 데 사용됩니다.
통사론:
파일 이름 입력
한 번에 한 화면씩 텍스트 파일을 표시하려면 TYPE 명령의 출력을 MORE로 파이프합니다. 몇 가지 예를 살펴보겠습니다.
ROMI.TXT의 내용을 표시하려면:
TYPE romi.txt
파일이 한 화면에 너무 길어서 표시되지 않는 경우:
TYPE romi.txt | 더 보기
복사하기
이 명령은 중요한 데이터를 백업하거나 전체 드라이브의 이미지를 파일과 디렉터리 트리를 복사할 때 가장 중요한 명령 중 하나입니다.
XCOPY는 COPY 명령과 비슷하지만 와일드카드를 사용하여 정확히 무엇을 복사할지에 대한 상당한 제어를 허용하는 스위치가 더 많습니다.
통사론:
XCOPY 소스 [대상] [/스위치]
소스 복사할 파일 및 디렉토리. 와일드카드(* 또는 ?)를 사용할 수 있습니다.
대상 새 파일의 경로 및/또는 이름. 대상이 생략되면 파일이 현재 디렉토리로 복사됩니다. 대상이 존재하지 않는 디렉토리를 참조하는 경우 디렉토리가 생성됩니다. 기본적으로 XCOPY는 작업을 소스 디렉토리의 파일로 제한합니다.
스위치 |
그것이 무엇을 하는가 |
/그리고 |
소스 의 전체 하위 디렉토리 구조 와 그 안에 있는 모든 파일을 복사합니다. |
/에스 |
소스 의 전체 하위 디렉토리 구조 와 그 안에 있는 모든 파일을 복사하지만 비어 있는 하위 디렉토리는 복사하지 않습니다. |
/티 |
소스 의 하위 디렉토리 구조를 복사 하지만 파일을 복사하지 않고 빈 하위 디렉토리도 복사하지 않습니다. 빈 하위 디렉토리를 포함하려면 /E 스위치와 함께 사용합니다. |
/에이 |
보관 속성이 설정된 파일만 복사합니다. |
/중 |
원본 파일의 보관 속성을 해제하고 보관 속성이 설정된 파일만 복사합니다. |
/시간 |
숨김 및 시스템 속성이 설정된 파일을 포함합니다. |
/케이 |
읽기 전용 속성이 설정된 경우, 해당 속성을 재설정하지 않고 파일을 복사합니다. |
/아르 자형 |
읽기 전용 파일을 덮어씁니다. |
/안에 |
대상 에 이미 존재하는 소스 의 파일만 복사합니다 . /D와 함께 사용하여 최신 버전으로 파일을 업데이트할 수 있습니다. |
/D:날짜 |
'마지막 수정 날짜'가 date 와 같거나 이후인 파일만 복사합니다 . date가 지정되지 않으면 대상 디렉토리에 있는 동일한 이름의 파일을 제외하고 모든 파일이 복사되며, source 에 있는 파일보다 ' 마지막 수정 날짜 '가 더 최근인 파일은 제외합니다 . |
/나 |
목적지를 디렉토리로 처리하도록 강제합니다 . 파일/디렉토리 프롬프트가 억제됩니다. |
/그리고 |
확인하지 않고 기존 파일을 덮어씁니다. |
/-그리고 |
기존 파일을 덮어쓰기 전에 메시지를 표시합니다. |
/안에 |
파일 복사를 시작하기 전에 메시지를 표시합니다. |
/피 |
각 대상 파일을 생성하기 전에 확인 메시지를 표시합니다. |
/에프 |
복사하는 동안 전체 소스 및 대상 파일 이름을 표시합니다. |
/큐 |
복사하는 동안 파일 이름이나 다른 메시지를 표시하지 않습니다. |
/기음 |
오류가 발생하더라도 복사를 계속합니다. |
/엘 |
복사할 파일을 표시하지만 실제로 복사하지는 않습니다. |
/N |
생성된 짧은 이름을 사용하여 복사합니다. 이는 VFAT 볼륨에서 FAT 볼륨으로 복사할 때 필요합니다. |
/다섯 |
새로운 파일을 읽을 수 있는지 확인합니다. |
기본적으로 XCOPY는 시스템 또는 숨김 속성이 설정된 파일을 복사하지 않으며 읽기 전용 파일의 복사본에는 읽기 전용 속성이 설정되지 않고 모든 복사된 파일에는 보관 속성이 설정됩니다. 기본적으로 XCOPY는 대상의 파일을 동일한 이름의 소스 파일로 덮어쓰기 전에 묻습니다.
XCOPY는 대상이 디렉토리인지 파일인지 모호한 경우 지침을 묻습니다. 대상이 기존 디렉토리를 참조하지 않거나 "\ "로 끝날 때 모호함이 나타납니다. 예를 들어 name.ext의 대상은 파일 또는 디렉토리가 될 수 있습니다. 다음 예제를 통해 더 잘 알아봅시다.
notes 디렉토리에 있는 모든 파일과 하위 디렉토리를 드라이브 a의 디스크로 복사하려면:
xcopy c:\노트 a: /s
또는
xcopy c:\notes\*.* a: /s
2002년 12월 9일 이후에 생성 또는 수정된 notes 디렉토리의 모든 파일과 하위 디렉토리를 드라이브 a의 디스크로 복사하려면:
xcopy c:\노트 a: /s /d:9/12/02
“드라이브 이미지” 만들기
전체 드라이브를 다른 드라이브에 백업하거나 드라이브의 데이터 이미지(운영 체제 및 기타 설치된 소프트웨어 포함)를 다른 하드 디스크에 만들려면 다음을 시도하세요.
C:\> X복사 * D: \I\E\C\H
여기서 D: 는 다른 하드 디스크의 활성 파티션이어야 합니다. 이렇게 하면 소스 드라이브의 전체 데이터(설치된 운영 체제, 소프트웨어, 문서 등 포함)가 대상 드라이브 에 이미지로 복사됩니다 .
그런 다음 대상 드라이브로 컴퓨터를 부팅하면 소스 드라이브가 작동했던 것과 동일하게 작동 하고 소스 드라이브 에 있던 모든 데이터가 표시됩니다 .
사양 단축키, 와일드카드 및 리디렉션
단축키
여러 DOS 명령은 디렉토리 간을 탐색할 때 특정 단축키를 인식합니다. 가장 잘 알려진 단축키는 다음과 같습니다.
지름길 |
왜 사용해야 하나요? |
. |
현재 디렉토리를 참조하다 |
.. |
부모 디렉토리를 참조하다 |
\ |
현재 드라이브의 루트 디렉토리를 참조합니다. |
운전하다 : |
드라이브 의 현재 디렉토리를 참조하려면 |
예를 들어 이해해 보겠습니다. c: 드라이브의 현재 디렉토리가 c:\windows\java\notes인 경우 a:\> 프롬프트에서 dir c:는 c:\windows\java\notes에 있는 파일을 나열합니다.
- 현재 드라이브와 디렉토리가 c:\data\docs\letters인 경우:
- 현재 드라이브와 디렉토리가 c:\ 인 경우:
와일드 카드
ATTRIB, COPY, DEL, DELTREE 등의 많은 DOS 명령은 "와일드카드"(* 및 ?)를 사용할 수 있습니다. 일반적으로 용어 *는 여러 문자를 나타내고 ?는 파일 또는 디렉토리 이름의 단일 문자를 나타냅니다.
이것이 우리가 어떤 파일 이름에도 이런 문자를 사용할 수 없는 이유입니다. 이런 특수 문자는 / \ : * ? < > “ | 이며, 파일 이름에 삽입하려고 시도해서는 안 됩니다. 다음 표는 와일드카드의 사용을 보여줍니다.
와일드카드 |
그것이 무엇을 하는가 |
*.* |
모든 확장자를 가진 모든 파일. |
*데이터*.* |
이름에 "data"가 포함된 모든 파일. |
*정렬.* |
"array"로 끝나는 이름을 가진 모든 파일 |
참고?.cpp |
"note"라는 이름의 모든 파일에 한 글자를 더하고 .CPP 확장자를 붙입니다. 이 파일은 note1.cpp일 수 있지만 note.cpp는 아닙니다. |
?티*.* |
이름의 두 번째 글자가 "t"인 모든 파일 |
모든 명령이 와일드카드를 정확히 같은 방식으로 처리하는 것은 아니라는 점에 유의해야 합니다. 예를 들어 DIR *와 DIR *.*는 동의어로 간주되지만 DEL *는 확장자가 없는 파일만 삭제합니다.
따옴표(" ")로 묶인 공백은 EDIT 및 DEL에서 유효한 파일 지정으로 허용하지만 그 방식은 다소 다릅니다.
EDIT는 현재 디렉토리의 이름을 사용하여 파일을 엽니다. 따라서 현재 디렉토리가 D:\windows\java\notes인 경우 EDIT " "는 해당 디렉토리에 "notes"라는 파일을 만듭니다.
DEL은 " "를 *.*로 인식하고 디렉토리의 모든 파일을 삭제하기 전에 확인을 요청합니다. EDIT와 마찬가지로, 따옴표 사이의 공백 수는 중요하지 않은 것처럼 보이지만 공백이 없으면 필수 매개변수가 누락되었다는 오류 메시지가 표시됩니다.
EDIT과 달리 경로를 포함할 수 있으며, 경로를 포함할 경우 따옴표 사이에 공백이 필요하지 않습니다. 즉, 현재 디렉토리에 있는 모든 파일을 삭제하려면 다음과 같이 입력합니다.
DEL ./""는 작동하지만 DEL ""은 오류 메시지를 표시합니다.
COPY는 또한 " "를 *.*로 보고 DEL과 마찬가지로 경로를 허용합니다. DEL과 달리 경로가 포함되어 있어도 항상 따옴표 사이에 공백이 있어야 합니다.
리디렉션
여러 DOS 명령은 화면에 출력을 보내거나 사용자의 입력을 요구합니다. 리디렉션은 명령의 출력을 프린터나 파일과 같은 다른 장치나 다른 프로그램 또는 명령에 공급할 수 있는 메커니즘입니다.
리디렉션 기능은 4가지가 있습니다.
> |
출력 리디렉션 |
>> |
추가 |
< |
입력 리디렉션 |
| |
파이프 |
>
"표준 출력 장치"(일반적으로 모니터)에서 명령 출력을 다른 장치(예: 프린터)나 파일로 리디렉션합니다.
통사론:
출력을 장치로 리디렉션하려면:
명령 > 장치
출력을 파일로 리디렉션하려면:
명령 > 파일 이름
허용되는 장치 이름은 CON(모니터), PRN(LPT1 - 프린터로 가정), LPT1 - 3(병렬 포트 - 일반적으로 프린터에 연결됨), COM 1 - 4(직렬 포트) 및 NUL(전자 공백)입니다.
인식된 장치 이외의 것이 지정되면 파일 이름으로 간주됩니다. 지정된 파일 이름으로 파일이 이미 있는 경우 경고 없이 덮어씁니다. 더 잘 이해하기 위해 몇 가지 예를 살펴보겠습니다.
아마도 이 리디렉션 기능의 가장 일반적인 용도는 디렉토리 목록을 프린터로 보내거나 파일로 저장하는 것입니다. Windows 디렉토리의 모든 파일에 대한 정렬된 디렉토리 목록을 인쇄하려면:
디렉토리 c:\windows /o/a > PRN
같은 디렉토리의 디렉토리 목록을 포함하는 파일을 만들려면:
디렉토리 c:\windows /o/a > d:\windows.txt
>>
명령의 출력을 지정된 파일에 추가합니다.
통사론:
명령어 >> 파일 이름
Filename이 존재하지 않으면 생성됩니다. Filename이 존재하는 경우 명령의 출력이 추가됩니다. 반면 > 함수는 원래 내용을 덮어씁니다. 예를 들어 더 잘 이해해 보겠습니다.
이전에 만든 디렉토리에 c:\windows\system 디렉토리에 있는 파일의 디렉토리 목록을 추가하려면:
디렉토리 c:\windows\system /o/a >> d:\windows.txt
<
기본 소스가 아닌 다른 소스에서 명령에 대한 입력을 지시합니다. 기본 소스는 일반적으로 키보드입니다.
통사론:
명령 < 데이터 소스
일반적으로 배치 프로그래밍에서 사용됩니다. 예를 들어 이해해 보겠습니다. 다음 DEBUG 명령 절차는 MBR의 백업을 만드는 데 사용됩니다. 여기서 MBR.BIN은 이 실행 후 생성된 백업 파일의 이름입니다.
디버그 mbr.bin
에이
MOV DX, 6000
MOV IS, DX
XOR BX, BX
MOV DX, 0080
MOV CX, 0001
무브 액스, 0201
지능 13
지능 20
<Enter>(아무것도 입력하지 마세요)
G
알씨엑스
200
6000:0000에서
큐
이를 위해 배치 파일을 사용하여 두 개의 배치 파일을 만듭니다. 하나는 DEBUG 명령을 실행하는 지침을 포함하고, 다른 하나는 DEBUG 명령에 입력으로 전달될 다른 지침을 저장합니다. 이 파일은 첫 번째 파일의 데이터 소스가 됩니다. 방법을 살펴보겠습니다.
C:\ mbr.bat
이제 MBR.BAT에 무엇이 들어 있는지 살펴보겠습니다.
MBR.BAT |
디버깅 mbr.bin < ttsource.bat |
그리고 당연히 TTSOURCE.BAT라는 두 번째 파일은 이에 대한 데이터 소스 역할을 하며 다음과 같은 지침을 포함합니다.
TTSOURCE.BAT |
에이 |
MOV DX, 6000 |
MOV IS, DX |
XOR BX, BX |
MOV DX, 0080 |
MOV CX, 0001 |
무브먼트 액스, 0201 |
지능 13 |
지능 20 |
<enter> (아무것도 입력하지 마세요) |
G |
R SH |
200 |
6000:0000에서 |
안에 |
|
파이프는 프로그램이나 명령의 출력을 두 번째 프로그램이나 명령으로 리디렉션합니다.
통사론:
팀1 | 팀2
긴 텍스트 파일을 입력하는 예를 살펴보겠습니다.
파일.txt |더보기를 입력하세요