명령 프롬프트/명령어
1. 개요
명령 프롬프트의 명령어를 정리한 문서이다. MS-DOS에 없는 명령어는 \[\*\]\ 표시.
2. TSKILL \[\*\]\
TASKKILL과 비슷하지만 기능이 적다. 강제로 종료하는 기능도 없다.TSKILL <프로세스 이름>
프로세스 이름 끝에 .EXE를 붙이지 않는다.
3. Taskkill \[\*\]\
이 명령어로 시스템 중요 프로세스를 종료시키면 윈도우가 먹통이 되거나 종료된다.taskkill [/f] [/im 프로세스이름] [/pid 프로세스PID번호] [/t] [/fi "필터"]
현재 실행되고 있는 '''모든''' 메모장을 '''강제로''' 종료한다.예:
taskkill /f /im notepad.exe
3.1. Tasklist \[\*\]\
현재 실행되고 있는 모든 프로세스들을 프롬프트 창에 띄워준다. taskkill 명령을 실행할 때 편리한 기능 중 하나다.tasklist
실행되어 있는 시스템 프로세스들을 나열한다.TASKLIST /FI "USERNAME ne NT AUTHORITY\SYSTEM" /FI "STATUS eq running"
실행되고 있는 프로세스들을 나열한다.tasklist /FI "STATUS eq running"
4. shutdown \[\*\]\
shutdown [/a] [/s] [/r] [/t] [/c "주석"] [/f]
1시간 후 "외출" 이라는 이유로 종료된다.예
shutdown /s /t 3600 /c "외출" /f[2]
5. rd(rmdir)
rd "경로" [/s] [/q]
rmdir "경로" [/s] [/q]
C 드라이브의 모든 하위 디렉터리와 파일을 지운다.예
시스템 중요 파일, 폴더들은 관리자 권한이 있다 하더라도 접근이 거부된다.
6. del
del [/p] [/f] [/s] [/q] "이름"
ERASE [/P] [/F] [/S] [/Q] "파일 이름"
C 드라이브 내의 .avi 확장자를 가진 모든 파일을 삭제한다.예
del /s /q "C:\\*.avi"
관리자 권한으로 실행하면 읽기 불가 시스템 폴더들도 모두 스캔한다.
7. ren
확장자들을 한꺼번에 일괄 변경시킬 수 있으므로 시간을 절약할 수 있는 명령어. 이 명령어를 모르는 컴맹들은 직접 하나하나 확장자를 바꿔야 했다.ren 드라이브:경로\"이름/확장자를 바꿀 파일의 이름" "바꿀 이름.확장자"
옵션이 없는 명령어이다.
명령을 실행한 폴더 내의 모든 파일의 확장자를 .aaa 로 바꾼다. 랜섬웨어가 막 등장했을 때, 확장자가 랜섬웨어에 등록되어있지 않으면 암호화를 하지 않는 방식이었기 때문에 사용'''됐었다.''' 최근에 나온 랜섬웨어들은 파일 헤더를 읽어서 암호화 하기 때문에 전혀 먹히지 않는다. [4]예
ren *.* *.aaa
8. copy
하나 이상의 파일을 복사한다. +를 사용하면 파일들을 합칠 수 있다.copy [/y|/-y|] [/b] "원본[+원본] [+...]" "대상"
1,2,3.txt 의 내용들을 합쳐서 merge.txt에 저장한다. 원본 파일은 손실되지 않는다.예
copy /b "1.txt + 2.txt + 3.txt" "merge.txt"
현재 디렉토리의 모든 파일을 C: 드라이브 루트로 복사한다.COPY . C:\\
image.jpg 와 archive.zip을 compressed.jpg로 합친다. 이 경우 jpg 확장자일 때는 이미지로 표시되나 zip 확장자로 변경할 시 압축 파일로 인식된다. Windows 7 32비트 기준 이미지는 정상 출력되나 압축 화일로는 인식하지 않는다.예
copy /b image.jpg + archive.zip compressed.jpg
9. xcopy
파일과 디렉터리 트리를 복사한다.xcopy "원본" "대상" [/a|/m] [/d:날짜] [/w] [/s] [/c] [/i] [/f] [/h] [/u] [/y|/-y]
C드라이브 내의 File 폴더와 그 폴더 내의 모든 하위 디렉터리를 D:\Files 로 복사한다. 복사 도중 오류가 생겨도 계속 진행한다. 숨김 파일과 시스템 파일도 모두 복사한다. D:\Files\ 에 이미 같은 이름의 파일/폴더가 있어도 덮어쓴다.예
xcopy "C:\\File\\" "D:\\Files\\" /s /c /h /y
10. dir
디렉터리에 있는 파일과 하위 디렉터리 목록을 보여준다.dir ["경로"] [/a[\[\:\]특성]\] [/p] [/q] [/s] [/w]
C 드라이브의 User 사용자 폴더 내와 모든 하위 디렉터리의 파일들을 보여준다.[7] 화면이 가득 차면 잠시 멈춘다.예
dir "C:\\Users\\user" /a /s /p
해당 명령어를 실행한 폴더 내의 (h) 숨김 파일, 폴더들만 리스트로 정리한다.예
dir /a:h
11. HELP
참고로 MS-DOS 6.2는 설명서처럼 친절하게 설명하고 주의사항과 참고사항까지 자세하게 적혀있는데, Windows NT는 그냥 HELP이라고 쓰면 단순한 명령어 목록과 요약만 적혀있다.HELP [명령어]
12. PROMPT
PROMPT [프롬프트]
C:\>
를 변경할 수 있다. MS-DOS 중간 버전부터 Windows 10까지 모두 있는 명령어이다.MS-DOS 4.x풍으로 되돌가간 느낌이 나게 해 준다.PROMPT $n$g
C:\>
대신 C>
이 나온다.이렇게 지정하면 다음과 같이 된다.PROMPT 명령어:
C:\\>prompt 명령어:
명령어: copy a.txt c:\\
1개 파일이 복사되었습니다.
명령어:
13. SET
변수를 정의한다. %변수명%로 호출할 수 있다.SET [/a] [/p] 변수명=내용
화면에 ">"를 띄운 후 입력받는다. 입력한 내용은 "변수" 변수로 선언된다.예:
set /p "변수=>"
C:\Windows\Temp\1.txt 의 첫 줄을 "파일" 변수로 선언한다.set /p 파일=<"C:\Windows\Temp\1.txt"
자세히 보기 [펼치기/접기]
280*2의 결과를 "결과" 변수로 설언한다.set /a 결과=280*2
1~9 사이의 난수를 "number" 변수로 선언한다.set /a number=%random% %% 9 + 1
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. 파일 다운로드
윈도우 파워 쉘을 사용한 기능으로, 웹사이트에서 파일을 다운로드한다. 10분 내로 다운로드가 끝나지 않는다면 Time-out 처리된다.PowerShell (New-Object System.Net.WebClient).DownloadFile('사이트 주소','경로')
16. 기타
- 7z.exe의 사용법은 7z.exe 문서 참조.
- 모든 명령어는 끝에 >nul 을 붙이면 창에 표기되지 않으며, @echo off 명령을 지정할 시 도스창의 프롬프트가 제거된다.