Amazonで商品を見るセール会場へ

Windowsバッチ│超簡単!複数のフォルダをまとめて作成する方法

Excelの名前リストから複数のフォルダーを作るときは、1行につき1つのmdコマンドを用意します。

CSVは引用符を重ねて保存する場合があるため、拡張子をBATへ変えるだけで実行せず、完成したコマンド列をテキストとして貼り付けます。

目次

日本語・空白を含むフォルダーを作るバッチ

Windows練習用データとスクリプト(ZIP)

ZIPは空の練習フォルダーへ展開し、下の手順で指定するサブフォルダーを開いて使います。

  1. ZIPはcreateフォルダーのcreate.batを編集用のテキストエディタで開く。自作する場合は、新しい練習フォルダーにファイルを作る
  2. 下のコードを使う場合は、UTF-8(BOMなし)でcreate.batとして保存する
  3. コマンドプロンプトでcreate.batを実行する
  4. 山田 太郎、資料 ! & [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のリストからコマンド列を作る

  1. B1以降へ1行1つのフォルダー名を入力する
  2. C1へ下の数式を入力し、必要な行へコピーする
  3. C列の結果をコピーし、メモ帳へプレーンテキストとして貼り付ける
  4. コード例の3行のmdを、貼り付けたmdの行へ置き換える
  5. 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の貼り付け結果を実行前に確認してください。

  1. まず、作るフォルダーの数を確認する。3つ程度なら、記事のコード例のように、1行につき1つのmdコマンドを、BATに書く。
  2. 名前に空白や記号があるときは、二重引用符で囲む。!は遅延展開を無効にして保持し、BATに文字として%を書く場合は%%とする。パス区切りやWindowsで使えない文字、CONなどの予約名は入力しない。
  3. BATは、UTF-8(BOMなし)でcreate.batとして保存し、chcp 65001の行を入れる。拡張子がcreate.bat.txtになっていないかも確認する。
  4. 名前が多いなら、Excelで、B1以降に1行1つのフォルダー名を入力し、C1の数式でmdコマンドの列を作る。C列の結果をコピーして、メモ帳にプレーンテキストとして貼り付ける。
  5. CSVとして保存せず、完成したコマンド列を、UTF-8(BOMなし)のBATとして保存し、練習用の数件で試してから、本番の名前で実行する。
  6. 失敗したときは、新しい空の練習フォルダーでやり直す。同名のフォルダーがあると、mdはエラーになり、コード例はそこで停止する。

既存のフォルダーは削除されません。戻すときは、練習で作った空のフォルダーだけを、エクスプローラーで確認してください。

スポンサーリンク

まとめ

完成したmdコマンドをBATへ貼り付け、作成先と文字コードを確認して実行します。

よくある質問:Windowsバッチでフォルダーを作るときのチェックリスト

複数のフォルダーを、まとめて作るには?

1行につき1つのmdコマンドを用意して、BATに書き、実行します。名前の空白や&は、二重引用符で囲みます。

CSVの拡張子をBATに変えるだけで実行してもよいですか?

しないでください。CSVは引用符を重ねて保存する場合があるため、完成したコマンド列を、テキストとして貼り付けます。

同じ名前のフォルダーがあるとどうなりますか?

mdはエラーになり、コード例はそこで停止します。新しい空の練習フォルダーで、やり直してください。

途中まで作られたときは?

既存のフォルダーは削除されません。作成先を確認して、必要な名前だけ、再実行してください。

日本語の名前が文字化けするときは?

UTF-8(BOMなし)でBATを保存し、chcp 65001の行があるかを確認します。拡張子がcreate.bat.txtになっていないかも確認してください。

Excelの数式で、フルパスや改行も入れられますか?

この例は、フォルダー名だけを扱います。セルにフルパスや改行、コマンドを入力する用途には使いません。

次に学ぶ・作業環境を選ぶ

学習を続けたい方や、作業環境を整えたい方は、目的に合うガイドをご覧ください。

仕事効率化のおすすめ書籍

仕事用PCの選び方

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次