すべてのチートシート

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 Juniper 形式

tree C:\projects /F | more

ファイル / ディレクトリ

md <dir> (or mkdir)

ディレクトリを 1 つ以上作成します。

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

ディレクトリを 1 つ以上削除します。

/s ファイルとサブディレクトリも削除; /q 無音(確認なし)

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

ファイルを 1 つ以上削除します。

/f 読み取り専用を強制; /s サブディレクトリも対象; /q 無音; /p 各ファイルで確認

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

ファイルを別の場所にコピーします。

/y 確認なしで上書き; /v 検証; /d 復号化先で; /b バイナリ

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>

ファイル / ディレクトリをリネーム(ファイル名のみ指定、フル パス不可)。

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>

ファイル属性を変更:読み取り専用(R)、隠し(H)、システム(S)、アーカイブ(A)。

/s 再帰; /d フォルダも処理; +R -R で読み取り専用 ON / OFF

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

出力を 1 画面ずつページ送り(Unix の less に似た動作)。

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

ファイル内のリテラル文字列を検索(レガシー;正規表現なし)。

/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>]

入力(またはファイル)をアルファベット / 数値順にソート;/+N で位置 N の文字をキー指定。

/R 逆順; /+N 文字位置 N でソート; [drive1:][path1] [drive2:][path2] 入出力

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

2 つのファイルを比較;/b でバイト単位の比較(バイナリ)。

/b バイナリ比較; /a 略式出力; /l 行単位; /n 行番号表示

fc /b file1.bin file2.bin

システム / ディスク

systeminfo

ホスト、OS、メモリ、ネットワークの詳細構成を出力します。

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

実行中のプロセスを PID、セッション、メモリ、イメージ名で一覧表示。

/v 詳細; /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]

ローカル / リモート PC をログオフ、再起動、シャットダウンします。

/s シャットダウン; /r 再起動; /a 中断; /t N 秒; /c "コメント"; /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 詳細

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 所有 exe; -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" で標準入力から読み込み; 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; スクリプトでは %%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+ に対応