분류
1. 개요
명령 프롬프트의 명령어를 정리한 문서이다. MS-DOS에 없는 명령어는 [*] 표시.
2. TSKILL [*]\
사용법
|
TSKILL <프로세스 이름>
TASKKILL과 비슷하지만 기능이 적다. 강제로 종료하는 기능도 없다.
프로세스 이름 끝에 .EXE를 붙이지 않는다.
프로세스 이름 끝에 .EXE를 붙이지 않는다.
3. Taskkill [*]\
사용법
|
taskkill [/f] [/im 프로세스이름] [/pid 프로세스PID번호] [/t] [/fi "필터"]
옵션
| 설명
|
/f
| 프로세스를 강제로 종료한다.
|
/im
| 종료할 프로세스의 이름을 지정한다.
|
/pid
| 종료할 프로세스의 PID(프로세스 식별자)를 지정한다.
|
/t
| 지정된 프로세스와 그 프로세스로부터 시작된 모든 자식 프로세스를 종료한다.
|
/fi
| 지정한 조건에 해당하는 프로세스를 종료한다. 이를 이용해 특정 서비스를 종료할 수 있다.
|
예:
taskkill /f /im notepad.exe
현재 실행되고 있는 모든 메모장을 강제로 종료한다.
난이도: 하
|
3.1. Tasklist [*]\
사용법
|
tasklist
현재 실행되고 있는 모든 프로세스들을 프롬프트 창에 띄워준다. taskkill 명령을 실행할 때 편리한 기능 중 하나다.
TASKLIST /FI "USERNAME ne NT AUTHORITYSYSTEM" /FI "STATUS eq running"
실행되어 있는 시스템 프로세스들을 나열한다.
tasklist /FI "STATUS eq running"
실행되고 있는 프로세스들을 나열한다.
4. shutdown [*]\
사용법
|
shutdown [/a] [/s] [/r] [/t] [/c "주석"] [/f]
옵션
| 설명
|
/a
| 예약되어있는 종료의 예약을 취소한다. 다른 옵션들을 쓸 수 없다.
|
/s
| 컴퓨터를 종료한다. 재시동인 /r 옵션과 같이 쓸 수 없다.
|
/r
| 컴퓨터를 종료하고 다시 시작한다. 종료인 /s 옵션과 같이 쓸 수 없다.
|
/t
| 컴퓨터를 지정된 시간[2] 후 종료하도록 예약한다.
|
/c
| 다시 시작 또는 종료의 원인을 설명하는 주석을 단다. 최대 512자까지 쓸 수 있다. 꼭 "" 로 열고 닫아야 한다. Windows XP 기준 시스템 종료 타이머 창에 이 메시지가 나타난다.
|
/f
| 사용자에게 미리 경고하지 않고 실행 중인 모든 프로세스들을 강제로 닫는다.
|
/i
| 원격 컴퓨터 종료 도구를 실행한다. GUI이다. 다른 컴퓨터를 종료시킬 수 있다(!).
|
1시간 후 "외출" 이라는 이유로 종료된다.
난이도: 하
|
5. rd(rmdir)
사용법
|
rd "경로" [/s] [/q]
rmdir "경로" [/s] [/q]
옵션
| 설명
|
/s
| 지정된 폴더 자체와 그 안의 모든 폴더 및 파일을 지운다. 이 옵션을 설정하지 않으면 빈 폴더가 아닌 이상 삭제되지 않는다.
|
/q
| /s 옵션으로 폴더 트리를 지우는 데 문제가 없으면 다시 묻지 않는다.
|
예
C 드라이브의 모든 하위 디렉터리와 파일을 지운다.
시스템 중요 파일, 폴더들은 관리자 권한이 있다 하더라도 접근이 거부된다.
시스템 중요 파일, 폴더들은 관리자 권한이 있다 하더라도 접근이 거부된다.
난이도: 하
|
6. del
사용법
|
del [/p] [/f] [/s] [/q] "이름"
ERASE [/P] [/F] [/S] [/Q] "파일 이름"
옵션
| 설명
|
/p
| 각 파일을 삭제하기 전에 삭제를 확인하는 메시지를 표시한다.
|
/f
| 읽기 전용 파일을 삭제한다.
|
/s
| 지정된 파일을 모든 하위 디렉터리에서 삭제한다.[6]
|
/q
| 삭제할 것인지 묻지 않는다.
|
예
del /s /q "C:\*.avi"
난이도: 하
|
7. ren
사용법
|
ren 드라이브:경로"이름/확장자를 바꿀 파일의 이름" "바꿀 이름.확장자"
확장자들을 한꺼번에 일괄 변경시킬 수 있으므로
옵션이 없는 명령어이다.
예
ren *.* *.aaa
명령을 실행한 폴더 내의 모든 파일의 확장자를 .aaa 로 바꾼다. 랜섬웨어가 막 등장했을 때, 확장자가 랜섬웨어에 등록되어있지 않으면 암호화를 하지 않는 방식이었기 때문에 사용됐었다. 최근에 나온 랜섬웨어들은 파일 헤더를 읽어서 암호화 하기 때문에 전혀 먹히지 않는다. 헤더를 바꾸고 필요할 때마다 수정하면? 귀찮아서 잊어 버린 순간 감염된다.[7]
난이도: 하
|
8. copy
사용법
|
copy [/y|/-y|] [/b] "원본[+원본] [+...]" "대상"
하나 이상의 파일을 복사한다. +를 사용하면 파일들을 합칠 수 있다.
옵션
| 설명
|
/y
| 이미 있는 대상 파일을 덮어쓸지 묻지 않는다.
|
/-y
| 이미 있는 대상 파일을 덮어쓸지 묻지 않는다.
|
/b
| 바이너리 화일이라고 표시한다. 단순 복사는 붙이지 않아도 되지만 후술할 회일 합체 시에는 텍스트 화일이 아니라 이미지, 아카이브 등의 화일이라면 이 스위치를 붙여주어야 정상 작동이 된다.
|
예
copy /b "1.txt + 2.txt + 3.txt" "merge.txt"
1,2,3.txt 의 내용들을 합쳐서 merge.txt에 저장한다. 원본 파일은 손실되지 않는다.
파일 내용
| |
1
| 123
|
2
| 456
|
3
| 789
|
merge
| 123456789[9]
|
COPY . C:\
현재 디렉토리의 모든 파일을 C: 드라이브 루트로 복사한다.
예
copy /b image.jpg + archive.zip compressed.jpg
image.jpg 와 archive.zip을 compressed.jpg로 합친다. 이 경우 jpg 확장자일 때는 이미지로 표시되나 zip 확장자로 변경할 시 압축 파일로 인식된다. Windows 7 32비트 기준 이미지는 정상 출력되나 압축 화일로는 인식하지 않는다.
난이도: 중
|
9. xcopy
사용법
|
xcopy "원본" "대상" [/a|/m] [/d:날짜] [/w] [/s] [/c] [/i] [/f] [/h] [/u] [/y|/-y]
파일과 디렉터리 트리를 복사한다.
옵션
| 설명
|
/a
| 보관 특성을 가진 파일만 복사하며 보관 특성을 수정하지 않는다.
|
/m
| 보관 특성을 가진 원본 파일만 복사하며 보관 특성을 지운다.
|
/d:m-d-y
| 지정된 날짜 이후에 바뀐 파일을 복사한다. 날짜 없이 /d 만 지정하면 대상 파일보다 새로운 원본 파일만 복사한다.
|
/w
| 각 파일을 복사하기 전에 아무 키나 누르게 한다.
|
/s
| 비어 있지 않은 폴더와 하위 폴더들을 모조리 복사한다. [11]
|
/c
| 오류가 생겨도 복사를 진행한다.
|
/i
| 대상을 찾을 수 없고 두 파일 이상을 복사하면 대상을 디렉터리로 지정한다.
|
/f
| 복사하는 동안 원본과 대상 파일의 전체 경로를 표시한다.
|
/h
| 숨김 파일과 시스템 파일도 복사한다.
|
/u
| 대상에 이미 있는 파일을 업데이트한다.
|
/y
| 이미 있는 대상 파일을 덮어쓸지 묻지 않는다.
|
/-y
| 이미 있는 대상 파일을 덮어쓸지 묻지 않는다.
|
예
xcopy "C:\File\" "D:\Files\" /s /c /h /y
C드라이브 내의 File 폴더와 그 폴더 내의 모든 하위 디렉터리를 D:Files 로 복사한다. 복사 도중 오류가 생겨도 계속 진행한다. 숨김 파일과 시스템 파일도 모두 복사한다. D:Files 에 이미 같은 이름의 파일/폴더가 있어도 덮어쓴다.
난이도: 상
|
10. dir
사용법
|
dir ["경로"] [/a[[:]특성]] [/p] [/q] [/s] [/w]
디렉터리에 있는 파일과 하위 디렉터리 목록을 보여준다.
옵션
| 설명
| ||||||||||||||
/a:특성
| 지정된 특성을 가진 파일만 보여준다. 특성을 지정하지 않았을 경우에는 모든 파일을 보여준다.
특성 [펼치기/접기]
| ||||||||||||||
/p
| 정보가 화면에 꽉 차면 잠시 정지한다.
| ||||||||||||||
/q
| 파일의 소유자를 보여준다.
| ||||||||||||||
/s
| 지정한 디렉터리와 하위 디렉터리를 포함하여 보여준다.
| ||||||||||||||
/w
| 화일 이름만 보여준다. 넓게 나온다.
|
예
dir "C:\Users\user" /a /s /p
C 드라이브의 User 사용자 폴더 내와 모든 하위 디렉터리의 파일들을 보여준다.[16] 화면이 가득 차면 잠시 멈춘다.
예
dir /a:h
해당 명령어를 실행한 폴더 내의 (h) 숨김 파일, 폴더들만 리스트로 친절하게 정리한다.
11. HELP
HELP [명령어]
명령어
| 해당 명령어에 대한 도움말을 보여준다.
|
참고로 MS-DOS 6.2는 설명서처럼 친절하게 설명하고 주의사항과 참고사항까지 자세하게 적혀있는데, Windows NT는 그냥 HELP이라고 쓰면
12. PROMPT
PROMPT [프롬프트]
스위치
| 설명
|
프로프트
| 도스창의 프롬프트를 지정한다. 일부 특수문자는 따로 처리를 해야 작동한다. 지정하지 않으면 기본값이 적용된다.
|
C:\>를 변경할 수 있다. MS-DOS 중간 버전부터 Windows 10까지 모두 있는 명령어이다.PROMPT $n$g
MS-DOS 4.x풍으로 되돌가간 느낌이 나게 해 준다.
C:\> 대신 C>이 나온다.PROMPT 명령어:
이렇게 지정하면 다음과 같이 된다.
C:\>prompt 명령어:
명령어: copy a.txt c:\1개 파일이 복사되었습니다.
명령어:
13. SET
SET [/a] [/p] 변수명=내용
옵션
| 설명
|
/a
| 변수를 정의하는 데 표현식을 사용한다. /p 스위치와 함께 쓸 수 없다.
|
/p
| 주로 입력을 받을 때 사용되는 스위치이다. '<'와 함께 사용하면 해당 파일의 첫 줄을 가져와 변수로 설정한다. 도스에는 없다.
|
변수를 정의한다. %변수명%로 호출할 수 있다.
예:
set /p "변수=>"
화면에 ">"를 띄운 후 입력받는다. 입력한 내용은 "변수" 변수로 선언된다.
set /p 파일=<"C:WindowsTemp1.txt"
C:WindowsTemp1.txt 의 첫 줄을 "파일" 변수로 선언한다.
자세히 보기 [펼치기/접기]
1.txt
123456
789012
set /p 파일=<"1.txt"
echo %파일%
출력값: 123456
set /a 결과=280*2
280*2의 결과를 "결과" 변수로 설언한다.
set /a number=%random% %% 9 + 1
1~9 사이의 난수를 "number" 변수로 선언한다.
13.1. replace
사용법:
set 변수=writed!
"변수"의 값은 writed!이다.
set 변수=%변수:write=sette%
밑 줄에서 "변수" 내의 값 중 write를 sette로 바꾸라는 명령을 한다.
echo %변수%
출력 값은 setted이다.
14. 그 외
명령 프롬프트의 기본 기능 외의 명령어들을 서술한다.
14.1. MS-DOS 하위 호환용 명령어
명령 프롬프트에서도 쓸 수 있으나 이 명령어들은 모두 16비트 구조이기 때문에 32비트 윈도우에만 있다.
14.1.1. MEM
MEM
메모리 사용량을 보여준다.
여담으로 Windows 7에서는 인터페이스가 MS-DOS 5.0(최신 버전은 6.2) 인터페이스이다(...).
16비트 프로그램이기 때문에 NTVDM에서 949 코드페이지(완성형 한글)를 지원하지 않는 Windows Vista 이상의 운영체제는 영어로 나온다.
14.2. exit
명령 프롬프트를 종료한다.
15. powershell [*]\
명령 프롬프트 창에서 윈도우 파워 쉘을 호출한다. exit 명령어로 파워 쉘을 종료하고 명령 프롬프트로 돌아온다. 여담으로 파워 쉘에서도 cmd 명령을 실행해 명령 프롬프트로 쓸 수 있다.
15.1. 파일 다운로드
PowerShell (New-Object System.Net.WebClient).DownloadFile('사이트 주소','경로')
윈도우 파워 쉘을 사용한 기능으로, 웹사이트에서 파일을 다운로드한다. 10분 내로 다운로드가 끝나지 않는다면 Time-out 처리된다.
16. 기타
- 7z.exe의 사용법은 7z.exe 문서 참조.
- 모든 명령어는 끝에 >nul 을 붙이면 창에 표기되지 않으며, @echo off 명령을 지정할 시 도스창의 프롬프트가 제거된다.
[1] 초 단위. 최대값은 315,360,000초(10년)이다.10년 동안 켜놓을 수 있을까[2] 초 단위. 최대값은 315,360,000초(10년)이다.10년 동안 켜놓을 수 있을까[3] 다만 일부 모델의 경우 한국어로 종료 이유를 입력할 경우 글자가 깨져서 나오는 경우가 있다. 댝???뷀???퓁??? 이런 식으로 깨진다.[4] 다만 일부 모델의 경우 한국어로 종료 이유를 입력할 경우 글자가 깨져서 나오는 경우가 있다. 댝???뷀???퓁??? 이런 식으로 깨진다.[5] 예로 하나를 든다면, del "C:file.txt" /s /q 라는 명령을 주면 C 드라이브 내의 file.txt라는 이름을 가진 파일들을 몽땅 삭제한다. C드라이브를 전체적으로 스캔하니 시간도 오래 걸린다.[6] 예로 하나를 든다면, del "C:file.txt" /s /q 라는 명령을 주면 C 드라이브 내의 file.txt라는 이름을 가진 파일들을 몽땅 삭제한다. C드라이브를 전체적으로 스캔하니 시간도 오래 걸린다.[7] 참고로 메모장으로 수정하면 절대 안 되고, 16진수 편집기나 Notepad++ 등을 사용해야 한다. 비트맵 이미지의 경우 파일 첫부분의 BM을 CM 등으로 수정하는 식.[8] 빈칸 없이 바로 붙인다.[9] 빈칸 없이 바로 붙인다.[10] 이 스위치가 없으면 빈 폴더만 복사한다. 모두 복사하려면 이 스위치를 반드시 주어야 한다.[11] 이 스위치가 없으면 빈 폴더만 복사한다. 모두 복사하려면 이 스위치를 반드시 주어야 한다.[12] 숫자 0이 아닌 대문자 O이다.[13] 숫자 0이 아닌 대문자 O이다.[14] 숫자 0이 아닌 대문자 O이다.[15] 숫자 0이 아닌 대문자 O이다.[16] 숨김 파일,시스템 파일,보관 파일 등 모두 포함