Как создать много папок и подпапок по списку в Windows (с помощью скриптов BAT и CMD)

Если вы когда-либо сталкивались с задачей создать много папок с разными именами вручную, вы знаете, как это долго и утомительно 😅. В Windows есть простые способы автоматизации через BAT-файлы, CMD команды и даже через специальные программы для пакетного создания папок.

В этой статье я покажу, как:

  • создать папки по списку из текстового файла;
  • пакетно создать папки и подпапки;
  • быстро создать несколько новых папок сразу;
  • использовать BAT и CMD для автоматизации;
  • использовать безопасные методы, чтобы не потерять данные.

1. Создание папок по списку из текстового файла

Этот способ идеален, если у вас есть список названий папок.

Шаги:

  1. Создайте текстовый файл, например list.txt, где каждая строка – это имя новой папки:
Документы
Фото
Проекты
Архив
  1. Создайте BAT-файл рядом с текстовым файлом, например создать_папки.bat. Вставьте следующий код:
@echo off
chcp 1251 >nul

for /f "usebackq delims=" %%i in ("list.txt") do (
    md "%%i"
)

echo Готово.
pause
  1. Запустите BAT-файл, и все папки будут созданы автоматически.

💡 Совет: Если имена папок отображаются неправильно, откройте текстовый файл в Notepad++ и смените кодировку на ANSI.

Пакетное создание папок и подпапок в Windows

2. Пакетное создание подпапок во всех папках

Если нужно, чтобы в каждой созданной папке были одинаковые подпапки, используйте такой метод:

  1. Подготовьте шаблон подпапок в отдельной папке, например C:\cto.
  2. Создайте BAT-файл со следующим кодом:
for /d %%g in (C:\kuda\*) do call xcopy C:\cto\* /E %%g
  • C:\kuda\* – путь к вашим папкам, куда будут копироваться подпапки.
  • C:\cto\* – шаблон подпапок.
  • /E – копирует все подпапки, включая пустые.
  1. Запустите BAT-файл, и подпапки создадутся во всех папках автоматически.

3. Использование CMD и BAT для пакетного создания папок

Через CMD и BAT можно:

  • быстро создать несколько каталогов;
  • создать папки внутри папок;
  • автоматизировать повторяющиеся задачи;
  • использовать текстовый файл как список имён для создания.

Примеры команд:

md Папка1 Папка2 Папка3
for /f "delims=" %%i in (list.txt) do md "%%i"

Таким образом вы можете создавать сотни и тысячи папок без лишних усилий.


4. Программы для создания папок

Если вы не хотите писать BAT-файлы, есть программы для пакетного создания папок и файлов:

  • Multi Folder Creator – создаёт папки по списку или шаблону.
  • Karen’s Directory Printer – для продвинутых пользователей.
  • Любые скрипты на PowerShell или Python для массового создания каталогов.

Эти инструменты безопасны и удобны для повторяющихся задач.


5. Советы по безопасности

  • Всегда проверяйте путь, чтобы не создать папки в неправильной директории.
  • Делайте резервные копии важных данных.
  • Используйте проверенные BAT-файлы и программы.
  • Не меняйте системные папки и диски без необходимости.

6. Итог

С помощью этих методов вы сможете:

  • создать много папок сразу по списку;
  • пакетно создать подпапки во всех папках;
  • автоматизировать процесс через BAT, CMD, PowerShell;
  • быстро создавать несколько новых папок сразу без ошибок;
  • использовать программы для создания папок, если не хотите писать скрипты.

Теперь создание сотен папок не займёт часами, а автоматизация с BAT и CMD сделает вашу работу быстрой и безопасной 😎.

Виталий nibbl

Привет 👋 Меня зовут Виталий, в сети я известен как Виталий Nibbl. С 2009 года я в IT и люблю задачки, от которых у других опускаются руки. Если вам сказали, что - "это невозможно" — значит, вы просто ещё не обратились ко мне 😎 В моих блогах на YouTube и Telegram вы найдёте пошаговые инструкции и решения любых сложностей. А ещё я профессионально скачиваю видео с любых платформ и всегда на связи по IT-вопросам.

Оцените автора
NIBBL
    • 27.01.2018 18:41

    Шикарная разминка для ума. Не знаю пригодиться ли, но точно знаю, что если понадобится, то это очень даже реально.

    Ответить
      • 23.11.2018 09:58

      Не работает. Кавычки менял, кодировку менял

      Ответить
    • 16.02.2018 23:09

    не работает

    Ответить
      • 18.02.2018 11:42

      все 100% работает, значит что то делаете не правильно. Свяжитесь со мной по e-mail я помогу

      Ответить
        • 07.12.2018 04:33

        Настройка кодировки не помогла((( Я писала алфавитное название папок большими буквами, папки создались с именем маленькими буквами, плюс перед буквой стоит значок “перпендикулярно”.

        Ответить
    • 18.03.2018 07:37

    пока заниматья этим маразмом было бы лучше вспомнить прекрасную бесплатную утилиту Text2Folders. Вот и все!

    Ответить
      • 08.07.2020 19:36

      Согласна, полный маразм!!! Проще вручную вбить, пока результата добъешься.. 🙄 За прогу спасибо!!!

      Ответить
      • 18.03.2018 18:41

      почему маразм? тут работы на 1 минуту, а Text2Folders еще скачивать надо и не факт, что скачаете с каким нибудь сюрпризом ее, а скрипты это автоматизация!

      Ответить
    • 01.06.2018 07:38

    Здравствуйте! Это очень хорошо, но я бы хотел научиться, как создать папки не сразу а в по очередно это можно сделать?
    Заранее благодарен!

    Ответить
    • 03.07.2018 10:35

    Если целевая папка содержит пробел то увы

    Ответить
    • 07.08.2018 13:14

    у кого не работает исправьте кавычки чтобы получилось вот так
    @<"list.txt" (for /f "delims=" %%i in ('more') do @md "%%~i")

    Ответить
    • 08.08.2018 11:57

    Подскажите можно ли скопировать из каталога только структуру папок без файлов?

    Ответить
    • 02.10.2018 17:12

    Спасибо!

    Ответить
    • 18.10.2018 01:17

    @<"list.txt" (for /f "delims=" %%i in ('more') do @md "%%~i")
    использую код + кодировка в нлутпад++ устаонвлена 866.
    Итог папки кириллицей выходят кракозябрами, а на англ. все ок.
    Не могу понять в чем ошибаюсь…

    Ответить
      • 11.06.2020 13:22

      смените расширение .bat-файла на .txt, добавьте перед строчкой скрипта в первую строку chcp 1251
      получится в две строки:
      chcp 1251
      @<"list.txt" (for /f "delims=" %%i in ('more') do @md "%%~i")
      сохраните файл и снова сделайте его расширение .bat
      папки с русскими названиями должны создаваться.

      Ответить
    • 26.10.2018 18:03

    Бат не работает, программка помогла

    Ответить
    • 10.12.2018 01:56

    Если папки на русском, то их название каверкается до неузнаваемости

    Ответить
    • 05.02.2019 21:29

    к сожалению у названий папок кодировка левая (((( но автору огромный респектище! винда 10

    Ответить
    • 07.02.2019 20:22

    Огромное спасибо, сэкономило кучу времени!
    От себя еще добавлю, что в списке папок на конце обязательно должен стоять слэш: /

    Ответить
    • 05.03.2019 17:49

    Папки смогла создать. Большое спасибо! А вот подпапки не получается. Не понимаю что делаю не так. Как разобраться? Кстати в случае с папками сработала вторая формула
    @<"list.txt" (for /f "delims=" %%i in ('more') do @md "%%~i")

    Ответить
    • 19.04.2019 21:00

    У меня получилось, когда:
    1) Батник сохранил через Нотепад++ с кодировкой OEM 866, как указано в приписке к статье.
    2) Код взял не из статьи, а из коммента с нормальными кавычками
    3) list.txt сохранил обычным Блокнотом в Юникоде
    4) Имена папок писал не в строчку, как в статье, а в столбик, т.е. каждое имя с новой строки
    💡 Спасибо за материал. Жена сказала, что я умный, когда верю в свои силы 😆

    Ответить
    • 06.09.2019 16:46

    ПО материалам комментариев и самой статьи (спасибо авору и комментаторам)

    Выкладываю окончательно рабочий скрипт:
    @<"list.txt" (for /f "delims=" %%i in ('more') do @md "%%~i")

    Файл txt со списком папок делал в кодировки Юникод.
    Каждое имя папки – с новой строки. В конце имени папки обязательно знак "\" (обратный слэш).

    Чтобы создать сразу папки и подпапки в них (с любой глубиной вложенности), в файле list.txt нужно расписать каждое дерево.
    Например строка "папка1\папка2\папка3\" с помощью скрипта создаст в текущем каталоге папку с именем "папка1", внутри которой папка с именем "папка2", а внутри этой папки еще одна папка "папка3"
    Если надо создать папки "папка2" и "папка3" внутри папки "папка1", то необходимо прописать 2 строки в файле list.txt, а именно:
    папка1\папка2\
    папка1\папка3\

    Всем удачи и любви

    Ответить
      • 30.09.2021 08:32

      Согласен, большое спасибо вам и автору статьи.

      Ответить
        • 30.09.2021 09:44

        всегда пожалуйста

        Ответить
      • 11.04.2021 14:43

      СПАСИБО ОГРОМНОЕ

      Ответить
    • 04.02.2021 11:18

    А можно ли открывать файл не конкретно list.txt, а чтобы я указывал сам?

    Ответить
      • 05.02.2021 10:50

      да

      Ответить
    • 20.03.2021 12:50

    Подскажите, а как сделать по такому же принципу не папки, а файлы с определенным расширением пусть для примера будет .txt

    Ответить
      • 21.03.2021 11:09

      можно сделать цикл, но я сейчас в отпуске и буду через неделю. Давайте так оставьте вопрос на этой странице https://nibbl.ru/questions с каким то ТЗ и я по приезду займусь вашим вопросом

      Ответить

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Оценка

PROS

+
Add Pros

Cons

+
Add Cons