Windowsのバッチファイルでは、特定のフォルダが存在するかを確認し、存在しなければ自動的に作成するといった処理を簡単に実装できます。今回はその基本的な方法をご紹介します。
基本構文
フォルダの存在を確認するには if not exist を使い、フォルダの作成には mkdir(または md)を使います。
@echo off
set "folder_path=C:\example\folder"
if not exist "%folder_path%" (
mkdir "%folder_path%"
echo フォルダを作成しました: %folder_path%
) else (
echo 既にフォルダが存在します: %folder_path%
)
@echo off
コマンドの表示を抑え、画面出力を見やすくします。
set “folder_path=…”
チェック対象のフォルダパスを変数に代入します。パスにスペースが含まれる可能性があるため、ダブルクォーテーションで囲んでいます。
if not exist “%folder_path%” (…)
指定したフォルダが存在しない場合に中の処理を実行します。
mkdir “%folder_path%”
フォルダを作成します。すでに存在するフォルダを指定してもエラーにはなりませんが、今回は明示的にチェックを入れています。
応用例 ログ出力付き
処理結果をログに出力したい場合は以下のように書きます。
@echo off
set "folder_path=C:\log\backup"
set "log_file=C:\log\action.log"
if not exist "%folder_path%" (
mkdir "%folder_path%"
echo %date% %time% : フォルダ作成 → %folder_path% >> "%log_file%"
) else (
echo %date% %time% : 既に存在 → %folder_path% >> "%log_file%"
)
まとめ
バッチファイルでは if not exist と mkdir を組み合わせるだけで、フォルダの存在チェックと作成を簡単に実現できます。定期的なバックアップやファイル保存処理など、フォルダの準備が必要な場面でぜひ活用してください。