Войти

Показать полную графическую версию : Создание папок из txt файла


Страниц : [1] 2 3

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

sl2103
31-05-2012, 16:16
ты хоть начни, а мы уже общими усилиями постараемся помочь, чем сможем...

Anonymоus
31-05-2012, 16:46
Они по одной на строку перечислены?

@Echo Off
For /F "usebackq delims=" %%D In ("file.txt") Do (MD "%%D")

RostVY
31-05-2012, 16:48
а сразу в тхт-файле перечислить папки с 'mkdir' перед каждым именем не получится? ;)

Iska
31-05-2012, 18:08
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
Перечитал тонну страниц и примеров, но не получается :(

iDrug
03-06-2012, 03:23
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 ))

Iska
03-06-2012, 22:53
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")

как с ним работать? Я его копирую в текстовый документ, сохраняю,,,,а под каким именем? С каким расшрением?

или его надо в командной строке вписывать? Мне б обьяснения поподробнее, если можно

Iska
13-12-2020, 23:19
как с ним работать? »
Просто запустить.

Я его копирую в текстовый документ, сохраняю,,,,а под каким именем? »
Под любым.

С каким расшрением? »
«.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)

Iska
14-12-2020, 15:46
Сделал как подсказали, »
Не сделали:
https://i.imgur.com/f7pwWyR.png

Latinyanin
15-12-2020, 14:51
Iska,
но ведь и я список под именем file.txt сохранил!
А про кодировку,,,, словами напишите - на скрине не все вижу
Надо обязательно все сохранять толькл в far manager ?


Или в креаторе все дело? не так оформлен соххранен?

Iska
15-12-2020, 16:24
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)
как тут ? до моего файла добираться?

Iska
17-12-2020, 16:55
ОНО САМОЕ? »
Да.

сам cmd файлик тоже в такой кодировке сохранять? »
Да. Но в данном случае сие неважно — в данном пакетном файле нет символов за пределами ASCII.

как тут ? до моего файла добираться? »
А где он у Вас?




© OSzone.net 2001-2012