🇯🇵 日本語 | 🇺🇸 English | 🇪🇸 Español | 🇵🇹 Português | 🇹🇭 ไทย | 🇨🇳 中文

バッチファイル(.bat)作成入門:クリックだけで処理を自動化しよう

前回の記事で、コマンドプロンプトの基本的なコマンド10選を学びました。dirで中身を確認し、cdで移動し、copyでファイルを複製する…。一つひとつのコマンドは単純ですが、強力なツールであることがお分かりいただけたかと思います。

しかし、毎回同じようなコマンドの組み合わせを、黒い画面に手で打ち込むのは少し面倒ですよね。「この一連の作業、ボタン一つで実行できたらいいのに…」と思ったことはありませんか?その願いを叶えるのが、Windowsに古くから伝わる伝統的な自動化技術、バッチファイル(.bat)です。

この記事では、コマンドプロンプトの操作に少し慣れた初心者の皆さんに向けて、バッチファイルの基本的な作り方から、日々のWeb制作作業を劇的に楽にする具体的な自動化スクリプトの例までを、丁寧に解説していきます。この記事を読み終える頃には、あなたは自分だけの「お助けツール」を自由に作成できるようになっているはずです!


1. バッチファイルとは? - コマンドの「手順書」

バッチファイルとは、一言でいえば「コマンドプロンプトで実行したい一連の命令を、順番に書き出したテキストファイル」のことです。ファイルの拡張子を.batにすることで、Windowsはそのファイルを「実行可能なプログラム」として認識します。

このファイルをダブルクリックすると、Windowsは自動的にコマンドプロンプトを起動し、ファイルに書かれたコマンドを一行ずつ、上から順番に実行していきます。つまり、あなたがいつも手で打っている連続したコマンド操作を、代行してくれる「手順書」や「レシピ」のようなものなのです。

Webサイトのプロジェクトフォルダを毎回同じ構成で作成したり、定期的にファイルのバックアップを取ったりといった定型作業を自動化するのに、非常に適しています。


2. はじめてのバッチファイル作成 - Hello, World!

まずは、バッチファイル作成の基本的な流れを体験してみましょう。画面にメッセージを表示するだけの、簡単なスクリプトを作成します。

ステップ1:テキストエディタでコマンドを書く

まず、「メモ帳」などのテキストエディタを開き、以下の3行を書き込みます。

@echo off
echo Hello, Batch File World!
pause

ステップ2:拡張子を「.bat」にして保存する

ここが最も重要なポイントです。ファイルを保存するとき、以下の手順で保存してください。

  1. 「ファイル」メニューから「名前を付けて保存」を選びます。
  2. 「ファイルの種類」を「すべてのファイル (*.*)」に変更します。
  3. ファイル名に「hello.bat」のように、必ず拡張子.batを付けて保存します。

デスクトップなど、分かりやすい場所に保存しましょう。

ステップ3:ダブルクリックで実行する

保存したhello.batファイルのアイコンをダブルクリックしてみてください。黒いコマンドプロンプトのウィンドウが開き、メッセージが表示されれば成功です!

Hello, Batch File World!
続行するには何かキーを押してください . . .

何かキーを押すとウィンドウが閉じます。これが、バッチファイルの作成から実行までの一連の流れです。


3. もう少し便利なバッチファイルの書き方

基本的な流れがわかったところで、スクリプトをより分かりやすく、柔軟にするためのいくつかのテクニックを紹介します。

コメントで処理内容をメモする (`rem`)

rem (Remark) で始まる行は、コメントとして扱われ、実行時には無視されます。後から自分が見返したときや、他の人が読んだときに、その処理が何をしているのか分かりやすくするために使います。

rem これがコメントです。この行は実行されません。
echo この行は実行されます。

変数を使う (`set` と `%変数名%`)

同じ値を何度も使いたい場合、変数に入れておくと便利です。setコマンドで変数を定義し、%変数名%でその値を呼び出します。

@echo off
set USER_NAME=Taro
echo Hello, %USER_NAME%!
pause

実践的な自動化スクリプト例

それでは、これまでの知識を組み合わせて、Web制作の現場で役立つ、より実践的なバッチファイルを作ってみましょう。

例1:Webプロジェクトのフォルダ構成を一発で作成

新しいプロジェクトを開始するたびに、css, js, imagesといったフォルダを手作りする作業を自動化します。

@echo off
rem --- Webプロジェクトの初期フォルダを作成するバッチ ---

rem プロジェクト名を指定
set PROJECT_NAME=MyNewWebsite

echo %PROJECT_NAME% フォルダを作成します...

mkdir "%PROJECT_NAME%"
mkdir "%PROJECT_NAME%\css"
mkdir "%PROJECT_NAME%\js"
mkdir "%PROJECT_NAME%\images"

echo.
echo 以下のフォルダ構成で作成しました:
tree /F "%PROJECT_NAME%"
echo.
echo 完了しました!
pause

このバッチファイルをデスクトップに置いておき、新しい仕事が来たらPROJECT_NAMEの部分だけ書き換えてダブルクリックすれば、瞬時にプロジェクトの骨格が出来上がります。


例2:日付フォルダを作ってファイルをバックアップ

大事な作業ファイルを、日付ごとのフォルダにバックアップするスクリプトです。%date%のような特殊な変数を使うことで、実行した日の日付を自動的に取得できます。

@echo off
rem --- 今日の日付フォルダにファイルをバックアップする ---

rem YYYY-MM-DD形式の日付を取得
set TODAY=%date:~0,4%-%date:~5,2%-%date:~8,2%

rem バックアップ先のフォルダパスを指定
set BACKUP_DIR="D:\backups\%TODAY%"

echo %BACKUP_DIR% へバックアップします...
mkdir %BACKUP_DIR%

rem コピーしたいファイルのパスを指定
copy "C:\path\to\important_file.docx" %BACKUP_DIR%

echo バックアップが完了しました。
explorer %BACKUP_DIR%
pause

この例では、最後にexplorerコマンドで、バックアップが作成されたフォルダをエクスプローラーで開く、という気の利いた処理も加えてみました。


まとめ

今回は、Windowsの伝統的な自動化技術である「バッチファイル」の作り方と、その基本的な文法、そして実用的なスクリプト例を学びました。黒い画面にコマンドを一つひとつ打ち込むだけでなく、それらを「手順書」としてファイルにまとめることで、作業が劇的に効率化されることを実感いただけたかと思います。

バッチファイルは、PowerShellに比べると機能は限定的ですが、そのシンプルさゆえに、ちょっとした定型作業を自動化するには今でも十分強力なツールです。ぜひ、あなたの身の回りにある「毎日の面倒なクリック作業」を、バッチファイルで自動化できないか考えてみてください。

さて、コマンドプロンプトとバッチファイルの世界を体験したところで、改めて「では、最新のPowerShellとは一体何が、どれくらい違うのか?」という疑問が深まったのではないでしょうか。次回の記事では、その違いを徹底的に比較・解説します!

PowerShellとの違い:cmdから卒業すべき理由とは?