![]() |
Создание папок из txt файла
Добрый день.
Требуется помощь местных гуру в написании батника :) Требуется создать n-ое кол-во папок, имена которых перечислены в txt файле. Количество и имена папок будут всегда разными, так что задать для каждой папки свою переменную не получится. Перелопатил весь форум, не нашел ничего, чтобы мне помогло. |
ты хоть начни, а мы уже общими усилиями постараемся помочь, чем сможем...
|
Они по одной на строку перечислены?
Код:
@Echo Off |
а сразу в тхт-файле перечислить папки с 'mkdir' перед каждым именем не получится? ;)
|
RostVY, а зачем? Один из основных принципов программирования — отделяйте
|
Спасибо огромное, работает даже если имена папок перечислены не в одной строкой.
Теперь появилась необходимость этим папкам раздать права доступа, которые так же перечислены в отдельном файле. Т.е. есть два файла, в первом по порядку перечислены имена папок, а во втором по порядку права доступа для этих папок. Пример: Файл1: Цитата:
Цитата:
Папка 01, права для папки: domain\user1 Папка 02, права для папки: domain\user2 Папка 03, права для папки: domain\user3 Перечитал тонну страниц и примеров, но не получается :( |
|
Использую этот скрипт:
Код:
@echo off Если первую часть скрипта запускать в отдельном батнике, то все ок. Где я накосячил? :) Надо было какой-то разделитель ставить? Upd: Нашел косяк :) Последнее chcp 1251 >nul лишнее :) |
Понимаю, что надоел уже, но что неправильно в этой строке?
Код:
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.
|
В итоге почти все нагуглил :)
Остался последний вопрос, имеется несколько циклов for, как заставить выполняться второй только после завершения первого? |
Anonymоus,
Ваш код Код:
@Echo Off или его надо в командной строке вписывать? Мне б обьяснения поподробнее, если можно |
Цитата:
Цитата:
Цитата:
Цитата:
Код:
for /f "usebackq delims=" %i in ("file.txt") do @md "%~i" |
Вложений: 2
Iska,
Сделал как подсказали, попробовал запустить файлик, но,,,,, Вообщем не образовались папки с потребными именами. Дважды по стартовому файлу кликал и через от имени админа запускал и ничего! Посмотрите пожжалуйста чего ж не так? |
|
|
Iska,
но ведь и я список под именем file.txt сохранил! А про кодировку,,,, словами напишите - на скрине не все вижу Надо обязательно все сохранять толькл в far manager ? Или в креаторе все дело? не так оформлен соххранен? |
Latinyanin, в любом редакторе, который поддерживает сохранение в кодировке OEM/866: AkelPad, Bred2/Bred3, Notepad++ (ограниченно). Я лично пользую редактор Far Manager'а.
|
Iska,
![]() ОНО САМОЕ? сам cmd файлик тоже в https://www.upload.ee/files/12652344/trying.zip.html такой кодировке сохранять? |
|
Цитата:
А вот можно ли с помощью кода cmd переместить файлы в эти папки? Файлы носят такие же ровно имена. Так это выглядит https://d.radikal.ru/d31/2012/45/31b92ce8b832.jpg |
Цитата:
Цитата:
Код:
@echo off - надо сравнить имена файлов из списка в txt с именами реальных в папке и что совпадают со списком переместить в одноименные папки товарищ, может хорош темнить, озвучивайте задачу полностью как есть, целиком и желательно цель конечную. Решаемо почти все, но малой кровью только в случае правильного и полного условия. |
Цитата:
Код:
goto:%UserProfile%\Desktop\Имя Вашего пакетного файла.cmd Скрытый текст
Код:
Данный модуль позволяет управлять дополнительными пунктами и переходить через Alt-F1/F2. И ещё куча способов. |
Цитата:
Цитата:
Используя ваш код https://www.upload.ee/files/12659543/MOVING.zip.html и даже без указания точного пути к папке мои файлы перемещены были успешно в нужные, одноименные папки – несмотря на такую картинку ![]() впрочем на нее можно и не обращать внимания, раз фунционирует. Хотя конечно от кода одновременно решающего обе задачи не откажусь! b]Iska[/b], спасибо! Япока что akelpad буду использовать |
Цитата:
Цитата:
Цитата:
|
alpap,
Цитата:
Цитата:
в данный момент обе задачи успешно благодаря вашим кодам решаются. Сначала по списку имен создаю папки, потом в эти папки перемещаются одноименные файлы, без проблем. ![]() И еще момент такой! Можно ли средствами cmd создать список файлов находящийся в одной, отдельно взятой ![]() папке - обязательно БЕЗ расширений, список в формате текстового документа, список сименм скажем file с кодировкой OEM 866? Причем чтобы сам cmd фалик в такой список не попадал! Просто не всегда удобно работать с тотал коммандер, а потом уж с akelpad/ |
Цитата:
|
Iska,
короче, нет никак нельзя с помощью cmd файлика создавать списки указанные, понял |
Latinyanin, можно.
|
Iska,
Как сделать aKELPAD доступным через ПКМ? мой вариант, вернее в сети найденный https://www.upload.ee/files/12672909/SPISOK.zip.html Код:
chcp 1251 почему? Как грамотнее? |
Цитата:
![]() Цитата:
Цитата:
|
Iska,
alpap, Цитата:
Но кое-как
https://i114.fastpic.ru/big/2020/122...1bc9860181.jpg https://i114.fastpic.ru/big/2020/122...ef404663df.jpg https://i114.fastpic.ru/big/2020/122...9e2ab6c884.jpg https://i114.fastpic.ru/big/2020/122...7171f6981c.jpg https://i114.fastpic.ru/big/2020/122...41f5f54ed0.jpg https://i114.fastpic.ru/big/2020/122...03cdc64ed4.jpg |
еще раз
Цитата:
|
Цитата:
|
Цитата:
![]() Цитата:
![]() верно? Цитата:
![]() в списке |
Цитата:
|
Цитата:
Цитата:
Вот пакетный файл Make Dir and Move file.cmd: Скрытый текст
Код:
@echo off Кладёте его в любой каталог. Далее: 1. Создаёте на этот пакетный файл ярлык в %AppData%\Microsoft\Windows\SendTo: Скрытый текст
![]() Используете команду контекстного меню папки Отправить на этот ярлык: Скрытый текст
![]() Получаете результат: Скрытый текст
![]() 2. Создаёте ярлык на этот пакетный файл на Рабочем столе. Перетаскиваете на этот ярлык папку из Проводника. Результат — тот же. 3. В Total Commander'е открываете на одной панели — каталог с пакетным файлом, на другой панели — родительский каталог для искомого каталога с файлами для обработки: Скрытый текст
![]() Выделив курсором пакетный файл на панели, нажимаете Ctrl-Shift-Enter, подставляя тем самым полный путь к пакетному файлу в командную строку: Скрытый текст
![]() Нажимате Tab, выделяете на соседней панели искомый каталог с файлами, опять нажимаете Ctrl-Shift-Enter, подставляя в командную строку полный путь к искомому каталогу: Скрытый текст
![]() Нажимаете Enter, отправляя содержимое командной строки интерпретатору команд на исполнение — получаете результат: Скрытый текст
![]() И тому подобное. |
Iska,
спасибо, конечно |
Iska,
Снова привет! ![]() . Если вам не трудно будет мне нужен скрипт небольшой, который бы "допилил" под мои нужды результаты работы FB2Toolbox. На скриншооте FB2Toolbox.exe виден список книг одной серии. Скрипт должен добавить в имя файла два компонента: один пробел перед и после каждого тире(-) добавить ноль перед каждой цифрой списка от 1 до 9 сама папка с файлами для переименовывания ![]() Возможно? Может надо отдельную тему создать? |
Ладно, отдельную тему создам тогда
|
Да, лучше отдельную тему.
|
Цитата:
|
Время: 02:19. |
Время: 02:19.
© OSzone.net 2001-