導入
バッチが最も得意とするのが、ファイルのコピー・移動・削除といった操作の自動化です。よく使うコマンドをまとめて押さえましょう。
説明
主要なファイル操作コマンドです。
dir… ファイル・フォルダの一覧を表示mkdir(md)… フォルダを作るcopy… ファイルをコピーmove… ファイルを移動する/名前を変えるdel(erase)… ファイルを削除rmdir(rd)… フォルダを削除ren… 名前を変える
@echo off
rem 作業フォルダを用意
mkdir backup 2>nul
rem テキストファイルをまとめてコピー
copy *.txt backup\
rem 1つのファイルを移動
move old.log archive\
echo バックアップと整理が終わりました
copy *.txt backup\ のように ワイルドカード * を使うと、条件に合うファイルをまとめて処理できます。mkdir backup 2>nul の 2>nul は「フォルダが既にあるときのエラー表示を捨てる」おまじないです(リダイレクトは次のレッスンで扱います)。
フォルダごとまるごとコピーしたいときは、copy ではなく xcopy や robocopy を使います。特に robocopy は差分コピーや再試行に強く、バックアップ用途で定番です。
@echo off
rem source フォルダの中身を dest へまるごとコピー(サブフォルダも)
robocopy source dest /e
delは取り消せないdelで消したファイルは ごみ箱を経由せず に消えます。ワイルドカードでの一括削除(del *.tmpなど)は特に、対象を確かめてから実行しましょう。心配なときは、まずdir *.tmpで「何が消えるか」を一覧して確認するのが安全です。
やってみよう
mkdir でフォルダを作り、copy でそこへファイルを1つコピーするバッチを書いてみましょう。実行前後で dir を打つと、変化が確認できます。