Как создать много папок сразу и с разными именами по списку?

Всем привет! После длительного затишья, я снова вернулся! Кстати я обновил свой блог и надеюсь это как то простимулирует меня на дальнейшее его развитие!

И так, приступим!
Сегодняшняя наша тема, это «создать папки по списку» данная нетривиальная задача, может вам сейчас показаться смешной, но когда Вам дают задание создать более 1000 папок, то вручную это надо потратить уйму времени и сил, а я человек ленивый) поэтому выкладываю вам рабочий вариант как создать много папок с разными именами автоматически!

В данной статье мы будем разбирать два варианта автоматизации создания папок с разными именами:

  1. Автоматическое создание папок по списку
  2. Создание подпапок во всех папках

Автоматическое создание папок по списку


Для этого нужно создать bat файл:

  1. создаем bat файл
  2. вписываем в него следующую команду:
    chcp 1251
    @<«list.txt» (for /f «delims=» %%i in (‘more’) do @md «%%~i»)
  3. рядом с bat файлом создаем текстовый файл формата .txt  в который вписывайте в строчку все названия папок которые Вам нужны
  4. Запускаем bat файл и радуемся нашим папкам
  5. Если у Вас папки создались в неправильно кодировке, то через Notepad++ меняем кодировку на ANSI

Вот таким незаурядным способом можно облегчить себе жизнь, а заодно и прокачать себе мозг новыми знаниями)

Теперь усложняем задачу, теперь нам в каждой из этих папок нужно создать еще и подпапки

Создание подпапок во всех папках

Давайте усложним ситуацию и представим, что нам нужно создать 1000 папок и в каждой папке нужно создать одинаковые подпапки.

  1. Как и по прошлой инструкции создаем bat файл
  2. Открываем его и вписываем след команду:

    for /d %%g in (c:\kuda\*) do call xcopy c:\cto\* /E %%g

  3. Разбираем команду:
    c:\kuda\ — прописываем путь куда должны копироваться папки
    c:\cto\* — что должно копироваться (в моем случае я копировал все подпапки из директории cto)
  4. Запускаем наш bat файл и смотрим результат )

Если Вам была полезна эта статья или Вы его хотите чем то дополнить, пишите в комментариях!

 

Вывод

В этой статье вы узнали как сделать: создание папок по списку из текстового файла, пакетное создание папок, создание папок по списку из текстового файла, как создать много папок с разными именами, как создать несколько новых папок сразу, программа для создания папок, как быстро создать много файлов, пакетное создание папок, как быстро создать много файлов, создать несколько каталогов, bat создать папку в папке, создать много папок bat, как быстро создать много файлов, программа для создания папок, cmd создать несколько файлов

Оцените статью
Блог ITишника и просто человека
Добавить комментарий

  1. Павел

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

    Ответить
    1. nibbl автор

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

      Ответить
  2. Андрей

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

    Ответить
    1. nibbl автор

      да

      Ответить
  3. Владимир

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

    Выкладываю окончательно рабочий скрипт:
    @<"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\

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

    Ответить
    1. Неля

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

      Ответить
    2. Дмитрий

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

      Ответить
      1. nibbl автор

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

        Ответить
  4. Даниил

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

    Ответить
  5. Нафиса

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

    Ответить
  6. Sonate

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

    Ответить
  7. АНДРЕЙ

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

    Ответить
  8. Антон

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

    Ответить
  9. Дед

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

    Ответить
  10. евгений

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

    Ответить
    1. Алексей

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

      Ответить
  11. Dandr

    Спасибо!

    Ответить
  12. Алексей

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

    Ответить
  13. timido

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

    Ответить
  14. toper

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

    Ответить
  15. Руслан

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

    Ответить
  16. koba

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

    Ответить
    1. nibbl автор

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

      Ответить
    2. Asty

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

      Ответить
  17. Санек

    не работает

    Ответить
    1. nibbl автор

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

      Ответить
      1. Екатерина

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

        Ответить
  18. Василий (iklife.ru)

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

    Ответить
    1. Антон

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

      Ответить