Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Создание папок из txt файла

Ответить
Настройки темы
CMD/BAT - Создание папок из txt файла

Новый участник


Сообщения: 9
Благодарности: 2

Профиль | Отправить PM | Цитировать


Добрый день.
Требуется помощь местных гуру в написании батника
Требуется создать n-ое кол-во папок, имена которых перечислены в txt файле.
Количество и имена папок будут всегда разными, так что задать для каждой папки свою переменную не получится.
Перелопатил весь форум, не нашел ничего, чтобы мне помогло.

Отправлено: 15:59, 31-05-2012

 

Новый участник


Сообщения: 18
Благодарности: 2

Профиль | Отправить PM | Цитировать


ты хоть начни, а мы уже общими усилиями постараемся помочь, чем сможем...

Отправлено: 16:16, 31-05-2012 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Старожил


Сообщения: 414
Благодарности: 258

Профиль | Отправить PM | Цитировать


Они по одной на строку перечислены?
Код: Выделить весь код
@Echo Off
For /F "usebackq delims=" %%D In ("file.txt") Do (MD "%%D")
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:46, 31-05-2012 | #3


Старожил


Сообщения: 280
Благодарности: 54

Профиль | Отправить PM | Цитировать


а сразу в тхт-файле перечислить папки с 'mkdir' перед каждым именем не получится?

-------
carpe diem


Отправлено: 16:48, 31-05-2012 | #4


Ветеран


Contributor


Сообщения: 26989
Благодарности: 7875

Профиль | Отправить PM | Цитировать


RostVY, а зачем? Один из основных принципов программирования — отделяйте мух от котлет данные от кода.

Отправлено: 18:08, 31-05-2012 | #5


Новый участник


Сообщения: 9
Благодарности: 2

Профиль | Отправить PM | Цитировать


Спасибо огромное, работает даже если имена папок перечислены не в одной строкой.
Теперь появилась необходимость этим папкам раздать права доступа, которые так же перечислены в отдельном файле.
Т.е. есть два файла, в первом по порядку перечислены имена папок, а во втором по порядку права доступа для этих папок.
Пример:
Файл1:
Цитата:
01
02
03
Файл2:
Цитата:
domain\user1
domain\user2
domain\user3
Итог:
Папка 01, права для папки: domain\user1
Папка 02, права для папки: domain\user2
Папка 03, права для папки: domain\user3
Перечитал тонну страниц и примеров, но не получается

Отправлено: 00:06, 03-06-2012 | #6


Старожил


Сообщения: 229
Благодарности: 1

Профиль | Отправить PM | Цитировать


nineline, http://skwire.dcmembers.com/wb/pages...-2-folders.php ?

-------
Windows 7SP1x64 Максимальная RU


Отправлено: 03:23, 03-06-2012 | #7


Новый участник


Сообщения: 9
Благодарности: 2

Профиль | Отправить PM | Цитировать


Использую этот скрипт:
Код: Выделить весь код
@echo off
set out=folders866.ini
chcp 1251 >nul
for /f "tokens=*" %%a in (folders.ini) do call :convert %%a
goto :eof
:convert
chcp 866 >nul
echo %*>>%out%
chcp 1251 >nul


@echo off
SetLocal EnableExtensions EnableDelayedExpansion
For /F "usebackq delims=" %%F In ("folders866.ini") Do (MD "%disk%:\%%F")
del folders866.ini
Он перегоняет инишку в нужную мне кодировку и создает папки, но вместо имен папок выдает крякозябры.
Если первую часть скрипта запускать в отдельном батнике, то все ок.
Где я накосячил? Надо было какой-то разделитель ставить?

Upd:
Нашел косяк
Последнее chcp 1251 >nul лишнее

Последний раз редактировалось nineline, 03-06-2012 в 16:08.


Отправлено: 15:56, 03-06-2012 | #8


Новый участник


Сообщения: 9
Благодарности: 2

Профиль | Отправить PM | Цитировать


Понимаю, что надоел уже, но что неправильно в этой строке?
Код: Выделить весь код
For /F "tokens=1" %%q In ("folders866.ini") Do (for /F "tokens=2" %%i in ("access.ini") do (cacls "c:\%%q" /E /T /C /P "domain\%%i":F ))

Отправлено: 18:17, 03-06-2012 | #9


Ветеран


Contributor


Сообщения: 26989
Благодарности: 7875

Профиль | Отправить PM | Цитировать


nineline, все эти chcp 1251/866 ни к чему. Просто сохраняйте файл с именами папок и сам пакетный файл в кодировке OEM/866.

Отправлено: 22:53, 03-06-2012 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Создание папок из txt файла

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
V. 5.5/2000/2003 - Создание общих папок capture Microsoft Exchange Server 0 07-05-2012 09:47
VBS/WSH/JS - [решено] Создание папок с именем файла и перемещение SySTek Скриптовые языки администрирования Windows 2 02-03-2011 15:38
VBS/WSH/JS - Создание папок исходя из имени хоста.Создание ярлыков. ufunf Скриптовые языки администрирования Windows 1 18-02-2010 13:59
CMD/BAT - [решено] Создание CMD/BAT файла для удаления лишних папок Vsirf Скриптовые языки администрирования Windows 4 04-06-2009 20:37
Разное - Создание НЕСТАНДАРТНЫХ ПАПОК. belohortvladimir Microsoft Windows 2000/XP 7 03-12-2008 22:04




 
Переход