Всем привет! После длительного затишья, я снова вернулся! Кстати я обновил свой блог и надеюсь это как то простимулирует меня на дальнейшее его развитие!
И так, приступим!
Сегодняшняя наша тема, это «создать папки по списку» данная нетривиальная задача, может вам сейчас показаться смешной, но когда Вам дают задание создать более 1000 папок, то вручную это надо потратить уйму времени и сил, а я человек ленивый) поэтому выкладываю вам рабочий вариант как создать много папок с разными именами автоматически!
В данной статье мы будем разбирать два варианта автоматизации создания папок с разными именами:
- Автоматическое создание папок по списку
- Создание подпапок во всех папках
Автоматическое создание папок по списку
Для этого нужно создать bat файл:
- создаем bat файл
- вписываем в него следующую команду:
chcp 1251
@<«list.txt» (for /f «delims=» %%i in (‘more’) do @md «%%~i») - рядом с bat файлом создаем текстовый файл формата .txt в который вписывайте в строчку все названия папок которые Вам нужны
- Запускаем bat файл и радуемся нашим папкам
- Если у Вас папки создались в неправильно кодировке, то через Notepad++ меняем кодировку на ANSI
Вот таким незаурядным способом можно облегчить себе жизнь, а заодно и прокачать себе мозг новыми знаниями)
Теперь усложняем задачу, теперь нам в каждой из этих папок нужно создать еще и подпапки
Создание подпапок во всех папках
Давайте усложним ситуацию и представим, что нам нужно создать 1000 папок и в каждой папке нужно создать одинаковые подпапки.
- Как и по прошлой инструкции создаем bat файл
- Открываем его и вписываем след команду:
for /d %%g in (c:\kuda\*) do call xcopy c:\cto\* /E %%g
- Разбираем команду:
c:\kuda\ — прописываем путь куда должны копироваться папки
c:\cto\* — что должно копироваться (в моем случае я копировал все подпапки из директории cto) - Запускаем наш bat файл и смотрим результат )
Если Вам была полезна эта статья или Вы его хотите чем то дополнить, пишите в комментариях!
Вывод
В этой статье вы узнали как сделать: создание папок по списку из текстового файла, пакетное создание папок, создание папок по списку из текстового файла, как создать много папок с разными именами, как создать несколько новых папок сразу, программа для создания папок, как быстро создать много файлов, пакетное создание папок, как быстро создать много файлов, создать несколько каталогов, bat создать папку в папке, создать много папок bat, как быстро создать много файлов, программа для создания папок, cmd создать несколько файлов
Шикарная разминка для ума. Не знаю пригодиться ли, но точно знаю, что если понадобится, то это очень даже реально.
Не работает. Кавычки менял, кодировку менял
не работает
все 100% работает, значит что то делаете не правильно. Свяжитесь со мной по e-mail я помогу
Настройка кодировки не помогла((( Я писала алфавитное название папок большими буквами, папки создались с именем маленькими буквами, плюс перед буквой стоит значок «перпендикулярно».
пока заниматья этим маразмом было бы лучше вспомнить прекрасную бесплатную утилиту Text2Folders. Вот и все!
почему маразм? тут работы на 1 минуту, а Text2Folders еще скачивать надо и не факт, что скачаете с каким нибудь сюрпризом ее, а скрипты это автоматизация!
Согласна, полный маразм!!! Проще вручную вбить, пока результата добъешься.. 🙄 За прогу спасибо!!!
Здравствуйте! Это очень хорошо, но я бы хотел научиться, как создать папки не сразу а в по очередно это можно сделать?
Заранее благодарен!
Если целевая папка содержит пробел то увы
у кого не работает исправьте кавычки чтобы получилось вот так
@<"list.txt" (for /f "delims=" %%i in ('more') do @md "%%~i")
Подскажите можно ли скопировать из каталога только структуру папок без файлов?
Спасибо!
@<"list.txt" (for /f "delims=" %%i in ('more') do @md "%%~i")
использую код + кодировка в нлутпад++ устаонвлена 866.
Итог папки кириллицей выходят кракозябрами, а на англ. все ок.
Не могу понять в чем ошибаюсь…
смените расширение .bat-файла на .txt, добавьте перед строчкой скрипта в первую строку chcp 1251
получится в две строки:
chcp 1251
@<"list.txt" (for /f "delims=" %%i in ('more') do @md "%%~i")
сохраните файл и снова сделайте его расширение .bat
папки с русскими названиями должны создаваться.
Бат не работает, программка помогла
Если папки на русском, то их название каверкается до неузнаваемости
к сожалению у названий папок кодировка левая (((( но автору огромный респектище! винда 10
Огромное спасибо, сэкономило кучу времени!
От себя еще добавлю, что в списке папок на конце обязательно должен стоять слэш: /
Папки смогла создать. Большое спасибо! А вот подпапки не получается. Не понимаю что делаю не так. Как разобраться? Кстати в случае с папками сработала вторая формула
@<"list.txt" (for /f "delims=" %%i in ('more') do @md "%%~i")
У меня получилось, когда:
1) Батник сохранил через Нотепад++ с кодировкой OEM 866, как указано в приписке к статье.
2) Код взял не из статьи, а из коммента с нормальными кавычками
3) list.txt сохранил обычным Блокнотом в Юникоде
4) Имена папок писал не в строчку, как в статье, а в столбик, т.е. каждое имя с новой строки
💡 Спасибо за материал. Жена сказала, что я умный, когда верю в свои силы 😆
ПО материалам комментариев и самой статьи (спасибо авору и комментаторам)
Выкладываю окончательно рабочий скрипт:
@<"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\
Всем удачи и любви
СПАСИБО ОГРОМНОЕ
Согласен, большое спасибо вам и автору статьи.
всегда пожалуйста
А можно ли открывать файл не конкретно list.txt, а чтобы я указывал сам?
да
Подскажите, а как сделать по такому же принципу не папки, а файлы с определенным расширением пусть для примера будет .txt
можно сделать цикл, но я сейчас в отпуске и буду через неделю. Давайте так оставьте вопрос на этой странице https://www.nibbl.ru/questions с каким то ТЗ и я по приезду займусь вашим вопросом