전체 치트시트

Windows CMD 명령어 치트시트

클래식 Windows 명령 프롬프트(cmd.exe) 빠른 참조: 파일/디렉터리 작업, 텍스트 검색, 시스템 정보, 네트워킹, 배치 스크립팅 — 자주 쓰는 옵션과 실전 예시까지 정리했습니다.

명령어 40개

탐색 & 도움말

cd /d <path>

현재 디렉터리 변경; /d 는 드라이브 문자까지 함께 바꿉니다.

cd /d D:\projects\app
dir [<path>]

파일과 하위 디렉터리를 크기, 날짜, 속성과 함께 나열합니다.

/a 숨김/시스템 표시; /s 재귀; /o 날짜/크기 정렬; /b 베어 형식; /w 와이드

dir /a /o:-d /b C:\logs
<cmd> /?

어떤 명령의 내장 도움말 표시(예: 'robocopy /?').

xcopy /?
tree [<path>]

드라이브 또는 경로의 폴더 구조를 그래픽으로 표시합니다.

/F 파일 포함; /A ASCII 문자 사용; /J 주니퍼 형식

tree C:\projects /F | more

파일 & 디렉터리

md <dir> (or mkdir)

디렉터리 한 개 이상을 만듭니다.

md C:\app\logs 2>nul
rd <dir> (or rmdir)

디렉터리 한 개 이상을 제거(삭제)합니다.

/s 파일과 하위 디렉터리도 제거; /q quiet 모드(프롬프트 없음)

rd /s /q C:\app\tmp
del <pattern>

파일 한 개 이상을 삭제합니다.

/f 읽기 전용 강제; /s 하위 디렉터리에 적용; /q quiet; /p 파일마다 확인

del /s /q C:\app\logs\*.log
copy <src> <dest>

파일 한 개 이상을 다른 위치로 복사합니다.

/y 덮어쓰기 확인 안 함; /v 검증; /d 대상 복호화; /b binary

copy /y C:\src\config.json D:\app\config.json
move <src> <dest>

파일을 이동하거나 파일/디렉터리 이름을 변경합니다.

/y 덮어쓰기; /-y 확인

move /y C:\app\old.log D:\archive\
ren <old> <new>

파일 또는 디렉터리 이름 변경(파일 이름만, 전체 경로 X).

ren report.txt report-2026.txt
xcopy <src> <dest>

파일, 디렉터리, 하위 디렉터리 복사(레거시; robocopy 로 대체됨).

/s /e 하위 디렉터리; /y 덮어쓰기; /i 대상이 디렉터리라고 가정; /h 숨김/시스템; /d 최신만

xcopy /s /e /y /d C:\src D:\dst
robocopy <src> <dest>

재시도, 로깅, 미러링을 갖춘 대용량 작업용 강력한 파일 복사.

/MIR 미러; /MOV 이동(원본 삭제); /E 빈 디렉터리 포함; /Z 재시작 가능; /MT:n 멀티스레드; /LOG:<file>; /R:n 재시도; /W:n 대기

robocopy C:\src \\backup\daily /MIR /Z /MT:8 /LOG+:C:\logs\robocopy.txt
attrib [+/-<attr>] <path>

파일 속성 변경: Read-only (R), Hidden (H), System (S), Archive (A).

/s 재귀; /d 폴더 처리; +R -R 읽기 전용 켜기/끄기

attrib +R +H secret\config.ini
mklink [[/D] | /H] <link> <target>

파일 또는 디렉터리에 대한 심볼릭(/D) 또는 하드(/H) 링크를 만듭니다.

/D 디렉터리 심볼릭; /H 하드 링크; /J 디렉터리 정션

mklink /D C:\current C:\app\v2

텍스트 & 검색

type <file>

텍스트 파일의 전체 내용을 화면에 표시합니다.

type C:\app\config.json | more
more < file

한 화면씩 페이지 단위로 출력(Unix less 처럼 동작).

type big.log | more
find "<str>" <files>

한 개 이상의 파일에서 리터럴 문자열을 검색(레거시; 정규식 X).

/i 대소문자 무시; /v 반전; /n 줄 번호; /c 개수만

find /i /n "TODO" *.md
findstr [/R] <pattern> <files>

리터럴 문자열 또는 정규식으로 텍스트 검색; 여러 패턴 지원.

/R 정규식; /S 하위 디렉터리; /I 대소문자 무시; /N 줄 번호; /M 매치 있는 파일; /V 반전; /C:"text" 리터럴 문자열

findstr /R /S /I /N "TODO\|FIXME" *.cs
sort [/R] [<file>]

입력(또는 파일)을 알파벳/숫자로 정렬; sort 는 /+N 으로 정렬 키 위치를 지원.

/R 역순; /+N N 위치 문자로 정렬; [drive1:][path1] [drive2:][path2] 입력/출력

sort /R /+5 unsorted.txt sorted.txt
fc /b file1 file2

두 파일을 비교; /b 는 바이트 단위(binary).

/b 바이너리 비교; /a 축약 출력; /l 줄 단위; /n 줄 번호 표시

fc /b file1.bin file2.bin

시스템 & 디스크

systeminfo

호스트, OS, 메모리, 네트워크의 상세 구성.

systeminfo /fo csv > sysinfo.csv
tasklist [/FI <filter>]

PID, 세션, 메모리, 이미지 이름과 함께 실행 중인 프로세스 목록.

/v verbose; /FI 필터(예: "IMAGENAME eq cmd.exe"); /M 모듈

tasklist /FI "IMAGENAME eq node.exe" /FO csv
taskkill /PID <pid> [/F]

PID 로 프로세스 종료(또는 /IM 으로 이미지 이름).

/F 강제; /IM 이미지 이름; /PID pid; /T 트리(자식 포함); /FI 필터

taskkill /IM chrome.exe /F
sc \[\\host] query|start|stop <service>

서비스 제어 관리자와 통신; 서비스 조회/설정.

query state= all; start / stop; config starts auto|manual|disabled; create / delete

sc query state= all | more
shutdown [/s|/r|/a]

로컬/원격 컴퓨터 로그오프, 재시작, 종료.

/s 종료; /r 재시작; /a 중단; /t N 초; /c "comment"; /m \\host; /f 앱 강제 종료

shutdown /r /t 60 /c "Windows Update"
diskpart

인터랙티브 디스크 파티셔닝 유틸리티(관리자 권한); list disk/partition/volume 지원.

list disk / select disk N / clean / create partition primary / format fs=ntfs quick / assign letter=D

diskpart /s script.txt
chkdsk <drive>

디스크 오류를 검사하고 읽을 수 있는 데이터를 복구합니다.

/f 오류 수정; /r 불량 섹터 복구; /x 강제 마운트 해제; /v verbose

chkdsk D: /f /r /x
vol <drive>:

드라이브의 볼륨 레이블과 일련 번호를 표시합니다.

vol C:

네트워킹

ipconfig [/all|/flushdns]

TCP/IP 설정 표시; /flushdns 는 DNS 클라이언트 캐시를 비웁니다.

/all 상세; /release / renew DHCP; /flushdns; /displaydns

ipconfig /all && ipconfig /flushdns
ping [-n <count>] <host>

ICMP echo 요청을 보내 도달 가능성과 지연을 테스트합니다(기본 4회).

-n 횟수; -t 연속; -l 크기; -w 타임아웃(ms); -4 / -6 버전 강제

ping -n 6 8.8.8.8
tracert [-d] [-h <hops>] <host>

호스트까지 패킷이 거치는 경로를 추적; -d 는 역방향 DNS 를 건너뜁니다.

-h 최대 홉; -w 타임아웃; -d DNS 없음; -4 / -6

tracert -d -h 15 google.com
nslookup <host>

DNS 조회 — 인터랙티브/비인터랙티브 모드.

server 8.8.8.8; type=A/AAAA/MX/CNAME/TXT; -timeout=N

nslookup example.com 1.1.1.1
netstat [-an] [-b]

활성 TCP/UDP 연결, 리스닝 포트, 소유 프로세스를 표시합니다.

-a 모두; -b 소유 실행 파일; -n 숫자; -o PID; -p tcp|udp; -r 라우팅 테이블

netstat -ano | findstr :443
net [user|localgroup|share|start|stop|use|time|view]

사용자 계정, 공유, 서비스, 매핑된 드라이브 등을 다루는 거대한 잡동사니.

net user <name> /add; net localgroup Administrators; net share; net use x: \\host\share

net user alice P@ssw0rd! /add && net localgroup Administrators alice /add

배치 스크립팅

echo [on|off|<text>]

명령 에코 토글 또는 줄바꿈 없이 텍스트 출력(대신 set /p 사용).

@echo off 접두사 비활성화; & echo. 로 빈 줄 출력

@echo off & echo Starting build...
set <var>=<value>

자식 프로세스에 보이는 환경변수를 정의하거나 변경합니다.

set /P var="prompt" stdin 으로 읽기; set /A var=expr 정수 연산

set /A total = 5 * 20 + 3
if [/i] [not] <condition> cmd

조건부 실행 — 문자열, 숫자, errorlevel, 파일 존재.

if exist file; if %var% == value; if %errorlevel% neq 0; if defined

if exist .git (git status) else (git init)
for /f [...] %%<var> in (...) do <cmd>

루프 구문: /f (텍스트/명령 출력 파싱), /r (재귀), /d (디렉터리), 일반(집합).

tokens / delims / skip / usebackq for cmd; 스크립트에서는 %%i, 명령줄에서는 %i

for /f "tokens=2 delims=:" %%p in ('reg query "HKCU\Software\Git" /v InstallPath') do set GIT_HOME=%%p
call <script> [<args>]

다른 배치 스크립트를 호출하고 복귀(일반 호출은 호출자를 중단).

? 도움말 표시; /e:on 확장 활성화; /v:on 지연된 확장

call utils\env.bat && call build\compile.bat
goto / rem / exit

레이블(goto :label), 주석(rem), 명시적 종료 코드.

exit /b <code>; rem ←→ ... reset 으로 주석 블록

exit /b 1

치트시트 버전 1.0.0

Windows cmd.exe 10+ 대응