Показать полную графическую версию : Создание папок из txt файла
nineline
31-05-2012, 15:59
Добрый день.
Требуется помощь местных гуру в написании батника :)
Требуется создать n-ое кол-во папок, имена которых перечислены в txt файле.
Количество и имена папок будут всегда разными, так что задать для каждой папки свою переменную не получится.
Перелопатил весь форум, не нашел ничего, чтобы мне помогло.
ты хоть начни, а мы уже общими усилиями постараемся помочь, чем сможем...
Anonymоus
31-05-2012, 16:46
Они по одной на строку перечислены?
@Echo Off
For /F "usebackq delims=" %%D In ("file.txt") Do (MD "%%D")
а сразу в тхт-файле перечислить папки с 'mkdir' перед каждым именем не получится? ;)
RostVY, а зачем? Один из основных принципов программирования — отделяйте мух от котлет данные от кода.
nineline
03-06-2012, 00:06
Спасибо огромное, работает даже если имена папок перечислены не в одной строкой.
Теперь появилась необходимость этим папкам раздать права доступа, которые так же перечислены в отдельном файле.
Т.е. есть два файла, в первом по порядку перечислены имена папок, а во втором по порядку права доступа для этих папок.
Пример:
Файл1:
01
02
03
Файл2:
domain\user1
domain\user2
domain\user3
Итог:
Папка 01, права для папки: domain\user1
Папка 02, права для папки: domain\user2
Папка 03, права для папки: domain\user3
Перечитал тонну страниц и примеров, но не получается :(
nineline, http://skwire.dcmembers.com/wb/pages/software/text-2-folders.php ?
nineline
03-06-2012, 15:56
Использую этот скрипт:
@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, 18:17
Понимаю, что надоел уже, но что неправильно в этой строке?
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 ))
nineline, все эти chcp 1251/866 ни к чему. Просто сохраняйте файл с именами папок и сам пакетный файл в кодировке OEM/866.
nineline
04-06-2012, 15:04
В итоге почти все нагуглил :)
Остался последний вопрос, имеется несколько циклов for, как заставить выполняться второй только после завершения первого?
Latinyanin
13-12-2020, 20:24
Anonymоus,
Ваш код
@Echo Off
For /F "usebackq delims=" %%D In ("file.txt") Do (MD "%%D")
как с ним работать? Я его копирую в текстовый документ, сохраняю,,,,а под каким именем? С каким расшрением?
или его надо в командной строке вписывать? Мне б обьяснения поподробнее, если можно
как с ним работать? »
Просто запустить.
Я его копирую в текстовый документ, сохраняю,,,,а под каким именем? »
Под любым.
С каким расшрением? »
«.cmd».
или его надо в командной строке вписывать? »
В командной строке не нужно удвоение символов «%»:
for /f "usebackq delims=" %i in ("file.txt") do @md "%~i"
Latinyanin
14-12-2020, 14:43
Iska,
Сделал как подсказали, попробовал запустить файлик, но,,,,,
Вообщем не образовались папки с потребными именами. Дважды по стартовому файлу кликал и через от имени админа запускал и ничего! Посмотрите пожжалуйста чего ж не так?
Latinyanin
14-12-2020, 14:45
архив с
https://www.upload.ee/images/dl_f.gif (https://www.upload.ee/files/12640536/trying.zip.html)
Сделал как подсказали, »
Не сделали:
https://i.imgur.com/f7pwWyR.png
Latinyanin
15-12-2020, 14:51
Iska,
но ведь и я список под именем file.txt сохранил!
А про кодировку,,,, словами напишите - на скрине не все вижу
Надо обязательно все сохранять толькл в far manager ?
Или в креаторе все дело? не так оформлен соххранен?
Latinyanin, в любом редакторе, который поддерживает сохранение в кодировке OEM/866: AkelPad, Bred2/Bred3, Notepad++ (ограниченно). Я лично пользую редактор Far Manager'а.
Latinyanin
17-12-2020, 12:33
Iska,
https://i114.fastpic.ru/thumb/2020/1217/c8/35416bcd67a810fa09d804242ab46ec8.jpeg (https://fastpic.ru/view/114/2020/1217/35416bcd67a810fa09d804242ab46ec8.jpg.html)
ОНО САМОЕ?
сам cmd файлик тоже в
https://www.upload.ee/files/12652344/trying.zip.html
такой кодировке сохранять?
Скачал и установил far Manager. но!
https://i114.fastpic.ru/thumb/2020/1217/3a/dc7e06d7585e8987628a756bbe1b763a.jpeg (https://fastpic.ru/view/114/2020/1217/dc7e06d7585e8987628a756bbe1b763a.jpg.html)
как тут ? до моего файла добираться?
ОНО САМОЕ? »
Да.
сам cmd файлик тоже в такой кодировке сохранять? »
Да. Но в данном случае сие неважно — в данном пакетном файле нет символов за пределами ASCII.
как тут ? до моего файла добираться? »
А где он у Вас?
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.