バッチファイルは、Windowsのコマンドをまとめて実行するためのテキストファイルです。同じフォルダーを作る、ファイルをコピーする、複数のツールを起動する、といった繰り返し作業に使えます。

まずは文字を表示するだけの小さなBATを作って、仕組みをつかみましょう。

バッチファイルとは?

コマンドプロンプトで入力する命令を、拡張子.batのファイルに書いたものです。実行するとcmd.exeが内容を読み取り、通常は上から順に処理します。ifやforを使えば、条件分岐や繰り返しもできます。

「バッチ処理」は作業をまとめて処理する方式、「バッチファイル」はその処理をWindowsのコマンドで書いたファイルです。バッチ処理そのものは、BAT以外の言語や仕組みでも実現できます。

バッチファイルでできること

やりたいこと使うコマンドの例
フォルダー作成・ファイルの整理mkdir、copy、move、ren
アプリや別のBATを起動start、call
条件に応じて処理・繰り返しif、for
フォルダー構成や通信状態を確認tree、ping、ipconfig

たとえば毎朝使うツールを順番に起動したり、決まったファイルを別フォルダーへコピーしたりできます。削除や上書きもできるため、最初は練習用のファイルで試すと安心です。

コマンドごとの書き方は、バッチファイルの基本コマンド一覧に短い例をまとめています。

メモ帳でBATファイルを作る3ステップ

1. コマンドを書く

メモ帳を開き、次の2行を入力します。echoは文字の表示、pauseはキー入力待ちです。ファイルの変更や削除はしません。

echo Hello World
pause
メモ帳にecho Hello Worldとpauseを入力した画面
2行のコマンドをメモ帳に入力します。

2. 拡張子を.batにして保存する

「名前を付けて保存」を開き、ファイル名をTest.bat、ファイルの種類を「すべてのファイル」にして、分かりやすい場所へ保存します。この英数字だけの例は、UTF-8(BOMなし)で保存できます。

Test.bat.txtになっていないか確認しましょう。エクスプローラーの「表示」→「表示」→「ファイル名拡張子」をオンにすると、末尾まで確認できます。Windows 11の表示例です。

3. ダブルクリックして実行する

保存したTest.batをダブルクリックします。コマンドの表示に続いて「Hello World」とキー入力待ちのメッセージが出れば、2行が実行されています。何かキーを押すと処理が終わります。

内容を直すときは、メモ帳からTest.batを開いて編集・保存します。ダブルクリックは編集ではなく実行なので、開き方を使い分けてください。

向いていないこと・別の方法を選びたい場面

場面考え方
複雑なデータ処理や長い条件分岐BATでも工夫できますが、保守しにくくなります。PowerShellやPythonなどを検討します。
ボタンや入力フォームのある画面BAT自体にはGUIを作るための標準機能がありません。GUIアプリを呼び出すことはできます。
複雑な例外処理BATにはtry/catch構文がありません。終了コードを確認して分岐させます。
Mac・Linuxでも同じ処理を実行Windowsのcmd.exe向けなので、そのままの動作は前提にできません。各環境に合うスクリプトを選びます。

「できない」と「作れるけれど扱いづらい」は別です。数個のコマンドをつなぐ用途ならBATは手軽ですが、機能が増えたら読みやすさや保守のしやすさで選び直しましょう。

実行前に確認したい3つのこと

削除・上書きは対象を確かめる

delで削除したファイルはゴミ箱に入りません。知らないBATは、実行する前にメモ帳で内容を確認してください。pauseは一時停止するだけで、処理を安全にする機能ではありません。キーを押せば続きが実行されます。

削除や移動を組み込む前に、対象を一覧表示して確認し、練習用フォルダーで試しましょう。

BATの保存場所と作業フォルダーを区別する

相対パスは、その時点の作業フォルダーを基準に解釈されます。BATが置かれたフォルダーと常に同じとは限りません。起動方法によって変わるため、ローカルのBAT自身の場所を基準にするなら次のように指定します。

@echo off
cd /d "%~dp0"
if errorlevel 1 exit /b 1
echo Ready.
pause

%~dp0はBAT自身のドライブとフォルダー、cdの/dはドライブも切り替える指定です。引用符で囲むと空白を含むパスも扱えます。移動に失敗した場合はexit /bでBATを終了します。ネットワーク共有のUNCパスにはpushd/popdを使う方法があります。

権限は必要な処理にだけ付ける

通常の文字表示や、自分の作業フォルダー内の操作に管理者権限は不要です。システム設定の変更などで必要になった場合だけ、処理内容を確認したうえで「管理者として実行」を選びます。権限不足の原因を確かめずに、すべてのBATを管理者で動かす必要はありません。

動かない・文字化けするときの確認表

症状最初に確認すること
メモ帳で開く/実行できない拡張子が.bat.txtになっていないか。
一瞬で画面が閉じる開いたコマンドプロンプトから実行して、エラー表示を読む。pauseはそこまで到達した場合にだけ止まります。
ファイルが見つからない作業フォルダーと対象パス、空白を囲む半角の引用符を確認。
日本語が文字化けする保存した文字コードと、コマンドプロンプトのコードページを確認。
エラーの後も処理が続く終了コードを確認して分岐する処理があるか。コマンドごとに終了コードの意味は異なります。

文字コードはWindowsのバージョンだけで決めない

日本語を含めるときは、ファイルの文字コードと読み取る側の設定を合わせます。chcpだけを実行すると現在のコードページを確認できます。日本語環境の932はWindowsの日本語コードページ、65001はUTF-8です。

UTF-8(BOMなし)のBATで日本語を扱う場合は、先頭の英数字行でchcp 65001に切り替える方法があります。ただし、呼び出す外部ツールもUTF-8に対応しているか確認してください。メモ帳の「ANSI」は環境依存なので、Windows 11だから必ずANSI、または必ずUTF-8、とは言い切れません。

まずは小さな処理から始めよう

最初は「文字を表示する」だけで十分です。動きを確認できたら、フォルダー作成やコピーなど、必要な処理を1つずつ追加していきましょう。

具体的な書き方は、目的別の基本コマンド一覧と実行例を参考にしてください。

仕様の確認:cmd、chcp、cd、if、exit、del(Microsoft Learn)