Excelの名前リストから複数のフォルダーを作るときは、1行につき1つのmdコマンドを用意します。
CSVは引用符を重ねて保存する場合があるため、拡張子をBATへ変えるだけで実行せず、完成したコマンド列をテキストとして貼り付けます。
日本語・空白を含むフォルダーを作るバッチ
ZIPは空の練習フォルダーへ展開し、下の手順で指定するサブフォルダーを開いて使います。
- ZIPはcreateフォルダーのcreate.batを編集用のテキストエディタで開く。自作する場合は、新しい練習フォルダーにファイルを作る
- 下のコードを使う場合は、UTF-8(BOMなし)でcreate.batとして保存する
- コマンドプロンプトでcreate.batを実行する
- 山田 太郎、資料 ! & [2026]、進捗 100%の3フォルダーを確認する
@echo off
setlocal DisableDelayedExpansion
chcp 65001 >nul
pushd "%~dp0" || exit /b 1
md "山田 太郎" || exit /b 1
md "資料 ! & [2026]" || exit /b 1
md "進捗 100%%" || exit /b 1
popd
pushdはBAT自身のフォルダーへ移動するため、別の場所から起動しても作成先が変わりません。
名前の空白や&は二重引用符で囲み、!は遅延展開を無効にして保持します。
BATに文字として%を書く場合は%%とし、パス区切りやWindowsで使えない文字、CONなどの予約名は入力しません。
Excelのリストからコマンド列を作る
- B1以降へ1行1つのフォルダー名を入力する
- C1へ下の数式を入力し、必要な行へコピーする
- C列の結果をコピーし、メモ帳へプレーンテキストとして貼り付ける
- コード例の3行のmdを、貼り付けたmdの行へ置き換える
- CSVとして保存せず、UTF-8(BOMなし)のBATとして保存して練習用の数件で試す
="md """&SUBSTITUTE(B1,"%","%%")&""" || exit /b 1"
B1が山田 太郎なら、C1の結果はmd "山田 太郎" || exit /b 1です。
この数式は%を変換するだけで、名前の検証はしません。空欄、二重引用符、パス区切り、改行、予約名、末尾の空白やピリオドは除いてください。セルにフルパスやコマンドは入れません。各行の末尾の|| exit /b 1を残すと、作成に失敗した時点で停止します。
作成できないときと戻し方
拡張子がcreate.bat.txtになっていないか、UTF-8の保存形式とchcp 65001の行を確認します。
同名のフォルダーがあるとmdはエラーになり、コード例はそこで停止するため、新しい空の練習フォルダーでやり直します。
途中まで作成された場合も既存フォルダーは削除されないため、作成先を確認して必要な名前だけ再実行します。
戻すときは練習で作った空のフォルダーだけをエクスプローラーで確認し、必要なデータを含むフォルダーは残します。
2026年10月2日にWindowsのCMDで3つの名前と再実行時の停止を検証しました。
Excelの数式入力・コピー操作のGUI確認は今回の検証に含みません。
仕様:Microsoft公式 md。
従来の操作画面
以下は旧版の画面で、リスト入力や元の操作例の参考として残しています。
現在の手順は上のコードと入力・出力例を使い、CSVの拡張子変更や元ファイルの直接リネームは行いません。






業務効率化に役立つその他のツールは、以下のリンクから確認できます。

Windowsバッチの記事は、ほかにもあります。




手入力とExcelでのコマンド生成の使い分け
どちらも最終的な作成はBATで行います。名前が少なければ直接記入し、多ければExcelでmdの行を生成します。Excelの貼り付け結果を実行前に確認してください。
- まず、作るフォルダーの数を確認する。3つ程度なら、記事のコード例のように、1行につき1つのmdコマンドを、BATに書く。
- 名前に空白や記号があるときは、二重引用符で囲む。!は遅延展開を無効にして保持し、BATに文字として%を書く場合は%%とする。パス区切りやWindowsで使えない文字、CONなどの予約名は入力しない。
- BATは、UTF-8(BOMなし)でcreate.batとして保存し、chcp 65001の行を入れる。拡張子がcreate.bat.txtになっていないかも確認する。
- 名前が多いなら、Excelで、B1以降に1行1つのフォルダー名を入力し、C1の数式でmdコマンドの列を作る。C列の結果をコピーして、メモ帳にプレーンテキストとして貼り付ける。
- CSVとして保存せず、完成したコマンド列を、UTF-8(BOMなし)のBATとして保存し、練習用の数件で試してから、本番の名前で実行する。
- 失敗したときは、新しい空の練習フォルダーでやり直す。同名のフォルダーがあると、mdはエラーになり、コード例はそこで停止する。
既存のフォルダーは削除されません。戻すときは、練習で作った空のフォルダーだけを、エクスプローラーで確認してください。
まとめ
完成したmdコマンドをBATへ貼り付け、作成先と文字コードを確認して実行します。
よくある質問:Windowsバッチでフォルダーを作るときのチェックリスト
複数のフォルダーを、まとめて作るには?
1行につき1つのmdコマンドを用意して、BATに書き、実行します。名前の空白や&は、二重引用符で囲みます。
CSVの拡張子をBATに変えるだけで実行してもよいですか?
しないでください。CSVは引用符を重ねて保存する場合があるため、完成したコマンド列を、テキストとして貼り付けます。
同じ名前のフォルダーがあるとどうなりますか?
mdはエラーになり、コード例はそこで停止します。新しい空の練習フォルダーで、やり直してください。
途中まで作られたときは?
既存のフォルダーは削除されません。作成先を確認して、必要な名前だけ、再実行してください。
日本語の名前が文字化けするときは?
UTF-8(BOMなし)でBATを保存し、chcp 65001の行があるかを確認します。拡張子がcreate.bat.txtになっていないかも確認してください。
Excelの数式で、フルパスや改行も入れられますか?
この例は、フォルダー名だけを扱います。セルにフルパスや改行、コマンドを入力する用途には使いません。
