Показать полную графическую версию : Создание папок из txt файла
Latinyanin
18-12-2020, 11:55
А где он у Вас? »
на рабочем столе был, но пока ладно, можно и погодить с far manager. Тем более Akelpad выдал потребную для задачи решения кодировку. Главное ведь то, что cmd креатор файлик СРАБОТАЛ как надо! Папки созданы были по первому клику!
А вот можно ли с помощью кода cmd переместить файлы в эти папки? Файлы носят такие же ровно имена. Так это выглядит
https://d.radikal.ru/d31/2012/45/31b92ce8b832.jpg
Папки созданы были по первому клику! »
непонятная радость ...
можно ли с помощью кода cmd переместить файлы в эти папки? »
А можно озвучивать задачу полностью? Чтобы не делать двойную задачу как в вашем случае. Зачем предварительно создавать папки если можно это делать по наличию файла последовательно:
@echo off
set "d=Полный путь к папке с файлами"
pushd "%d%"
for /f "delims=" %%f in ('dir /a-d/b "*.*"^|findstr /ve /c:"\.bat" /c:"\.cmd"') do (
if not exist "%%~nf" md "%%~nf"
>nul move "%%f" "%%~nf"
)
popd
pause
Подозреваю сейчас будет:
- надо сравнить имена файлов из списка в txt с именами реальных в папке и что совпадают со списком переместить в одноименные папки
товарищ, может хорош темнить, озвучивайте задачу полностью как есть, целиком и желательно цель конечную. Решаемо почти все, но малой кровью только в случае правильного и полного условия.
на рабочем столе был, »
Тогда Ctrl-\, переместиться стрелками к каталогу с именем Users, Enter, переместиться к каталогу с именем профиля учётной записи, Enter, переместиться к каталогу с именем Desktop, Enter, переместиться искомому файлу. Или ввести в командной строке Far Manager'а:
goto:%UserProfile%\Desktop\Имя Вашего пакетного файла.cmd
и нажать Enter. Или установить плагин DiskMenu и добавить в нём ссылку на Рабочий стол:
Данный модуль позволяет управлять дополнительными пунктами
в меню выбора дисков.
Поддерживаются следющие типы элементов:
1. Ссылка на каталог
Элемент представляет собой ссылку на локальныю папку или
сетевой ресурс.
Например:
Локальная папка: C:\SomeFolder\Sub Folder
Сетевой ресурс: \\some_server\share\my_folder
В качестве ссылок можно использовать переменные окружения.
Например: %FARHOME%\Plugins
2. Специальная ссылка
Ссылка на специальную папку (Рабочий стол, Мои документы и т.д.).
3. Вызов внешнего плагина
Ссылка на внешний плагин Far, необходмо указать префикс вызова плагина.
Например:
Вызов плагина FTP: ftp://ftp.domain.local
4. Путь из реестра
Ссылка определяется из значения указанного ключа реестра.
Например:
В ветке реестра HKCU\Software\Far2\Layout\PassiveFolder
существует значение D:\My folder
В таком случае, указав в качестве ссылки:
Корневой раздел: HKEY_CURRENT_USER
Ключ реестра: Software\Far2\Layout\PassiveFolder
будет прозведен переход в папку D:\My folder.
5. Вложенное меню
Ссылка на вложенное меню.
…
и переходить через Alt-F1/F2. И ещё куча способов.
Latinyanin
19-12-2020, 10:36
непонятная радость ... »
много времени и нервов ушло - потому и радость!
А можно озвучивать задачу полностью? Чтобы не делать двойную задачу как в вашем случае. Зачем предварительно создавать папки если можно это делать по наличию файла последовательно: »
нет, я не темню ни разу! Просто откуда мне было знать, что можно одновременно решить задачу и по созданию папок из списка и по помещению в эти папки одноименных файлов?Я же не кодер какой и подумал мол сначала одну проблему надо решить, затем вторую - последовательно.
Используя ваш код
https://www.upload.ee/files/12659543/MOVING.zip.html
и даже без указания точного пути к папке мои файлы перемещены были успешно в нужные, одноименные папки – несмотря на такую картинку
https://i114.fastpic.ru/thumb/2020/1219/09/1d480aa0d16a1eb5371ac931339ede09.jpeg (https://fastpic.ru/view/114/2020/1219/1d480aa0d16a1eb5371ac931339ede09.jpg.html)
впрочем на нее можно и не обращать внимания, раз фунционирует. Хотя конечно от кода одновременно решающего обе задачи не откажусь!
b]Iska[/b],
спасибо! Япока что akelpad буду использовать
даже без указания точного пути »
это если bat в той же папке (именно по этой причине стоит защита: ...^|findstr /ve /c:"\.bat" /c:"\.cmd"), а при указании пути код будет работать с любого места и если точно не будет в этой папке, то защиту из кода можно убрать.
от кода одновременно решающего обе задачи не откажусь! »
именно это сейчас и выполнено? Или первая задача до сих пор имеет силу:
... имена которых перечислены в txt файле »
Latinyanin
21-12-2020, 16:52
alpap,
это если bat в той же папке » в нейродимой, в ней
именно это сейчас и выполнено? Или первая задача до сих пор имеет силу:
в данный момент обе задачи успешно благодаря вашим кодам решаются. Сначала по списку имен создаю папки, потом в эти папки перемещаются одноименные файлы, без проблем.
https://www.upload.ee/images/dl_f.gif (https://www.upload.ee/files/12668883/workercods.zip.html)
И еще момент такой!
Можно ли средствами cmd создать список файлов находящийся в одной, отдельно взятой
https://i114.fastpic.ru/thumb/2020/1221/e8/6634a836269378d2a4725045a5ff98e8.jpeg (https://fastpic.ru/view/114/2020/1221/6634a836269378d2a4725045a5ff98e8.jpg.html)
папке - обязательно БЕЗ расширений, список в формате текстового документа, список сименм скажем file с кодировкой OEM 866?
Причем чтобы сам cmd фалик в такой список не попадал! Просто не всегда удобно работать с тотал коммандер, а потом уж с akelpad/
список сименм скажем file с кодировкой OEM 866?
Причем чтобы сам cmd фалик в такой список не попадал! Просто не всегда удобно работать с тотал коммандер, а потом уж с akelpad/ »
Вот потому-то я и пользую Far Manager:
кодировка файла меняется на ходу;
пакетные файлы находятся отдельно, а не «прыгают» по обрабатываемым каталогам туда-сюда, запуск пакетного файла в потребном каталоге выглядит обычно так: пакетный файл на одной панели, обрабатываемый каталог на другой панели — Tab (перключились на панель с пакетным файлом), стрелки (перешли к пакетному файлу), Ctrl-F (вставка полного пути к пакетному файлу в командную строку), Tab (вернулись на другую панель), Enter (запустили пакетный файл на исполнение в обрабатываемом каталоге);
никаких проблем поработать с редактором: F4 — и редактируй, Ctrl-Tab — ты опять в панелях, Ctrl-Tab — снова в редакторе.
Более чем удобно.
Latinyanin
22-12-2020, 13:31
Iska,
короче, нет никак нельзя с помощью cmd файлика создавать списки указанные, понял
Latinyanin
22-12-2020, 14:54
Iska,
Как сделать aKELPAD доступным через ПКМ?
мой вариант, вернее в сети найденный
https://www.upload.ee/files/12672909/SPISOK.zip.html
chcp 1251
echo %date% %time% >file.txt
dir /b /d >>spisok.txt
© Public-pc.com Источник: https://public-pc.com/how-to-get-a-list-of-files-in-a-folder-in-a-text-file/
ВСЕ ТАКИ работает или неправильно оформлен был?
почему? Как грамотнее?
Как сделать aKELPAD доступным через ПКМ? »
Latinyanin, зачем? Открывайте потребное через Открыть с помощью…. Либо, коль пользуете Total Commander — настройте через него:
https://i.imgur.com/pX7Yf1b.png
chcp 1251 »
ЗАЧЕМ?!! Зачем chcp 1251, если Вам нужен результат в OEM/866?
dir /b /d »
Вам разве нужен список в несколько столбцов? Для чего?!
Latinyanin
23-12-2020, 12:19
Iska,
alpap,
зачем? Открывайте потребное через Открыть с помощью »
через "Открыть с помощью" не сразу настроилось, сначала в списке установленных программ не отображалось вообще,
https://i114.fastpic.ru/big/2020/1223/81/173f2f2de661ed04ebbc731bc9860181.jpg
https://i114.fastpic.ru/big/2020/1223/df/a1f19f3f80acc61ba6bc2cef404663df.jpg
https://i114.fastpic.ru/big/2020/1223/84/d1b790f4a0b542c77ddea99e2ab6c884.jpg
https://i114.fastpic.ru/big/2020/1223/1c/19e027ea2c9e39de8ddcb27171f6981c.jpg
https://i114.fastpic.ru/big/2020/1223/d0/90d02b44fe5cabad792ccd41f5f54ed0.jpg
https://i114.fastpic.ru/big/2020/1223/d4/1539287da242ee5c4dd31b03cdc64ed4.jpg
настроилось, жаль в быстром списке все равно нет ее
еще раз
зачем? »
если работаете в AkelPad выставьте в настройках: Создавать файлы в кодировке 866, Сохранять файлы в 866. И всегда работайте только с этой кодировкой. При случае когда вам пришлют файл в 1251, в открытом файле сменили кодировку. почитали.
не сразу настроилось »
а зачем (опять же) так сложно. В AkelPad удобнее работать, выставьте в его настройках открывать txt, list, ini ... или в системе это сделайте, почитайте как правильно это делать (http://www.oszone.net/27837/Windows_10_default_apps).
Latinyanin
23-12-2020, 13:25
ЗАЧЕМ?!! Зачем chcp 1251, если Вам нужен результат в OEM/866? »
так? https://i114.fastpic.ru/thumb/2020/1223/4c/04ec3285c13fb9f1d479b94ba3f4a34c.jpeg (https://fastpic.ru/view/114/2020/1223/04ec3285c13fb9f1d479b94ba3f4a34c.jpg.html)
если работаете в AkelPad выставьте в настройках: Создавать файлы в кодировке 866, Сохранять файлы в 866. И всегда работайте только с этой кодировкой. При случае когда вам пришлют файл в 1251, в открытом файле сменили кодировку. почитали. »
https://i114.fastpic.ru/thumb/2020/1223/a1/a5ee458a46308dac5aa6795027c017a1.jpeg (https://fastpic.ru/view/114/2020/1223/a5ee458a46308dac5aa6795027c017a1.jpg.html)
верно?
Вам разве нужен список в несколько столбцов? Для чего?! »
у меня один столбец, а не несколько Другое дело, что зачем-то вычставляется дата и сам cmd файлик
https://i114.fastpic.ru/thumb/2020/1223/1e/56251cd5c52cd15e1da3e9b04a8fbc1e.jpeg (https://fastpic.ru/view/114/2020/1223/56251cd5c52cd15e1da3e9b04a8fbc1e.jpg.html)
в списке
так? »
Нет.
зачем-то вычставляется дата и сам cmd файлик »
Потому что у Вас в пакетном файле сказано вставлять дату и время. И Вы по-прежнему держите пакетный файл в том же каталоге, что и обрабатываете. Это неправильно.
Вот пакетный файл Make Dir and Move file.cmd:
@echo off
setlocal enableextensions enabledelayedexpansion
set sSourceFolder=%~1
if defined sSourceFolder (
pushd "%sSourceFolder%" && for /f "usebackq delims=" %%i in (
`2^>nul dir /b /a:-d /o:n "*.*"`
) do (
2>nul md "%%~ni"
move "%%~i" "%%~ni\"
) || (
echo Can't find source folder [%sSourceFolder%].
exit /b 2
)
) else (
echo Usage: %~nx0 ^<Source folder^>
exit /b 1
)
endlocal
exit /b 0
Кладёте его в любой каталог. Далее:
1. Создаёте на этот пакетный файл ярлык в %AppData%\Microsoft\Windows\SendTo:
https://i.imgur.com/LDqPQqT.png
Используете команду контекстного меню папки Отправить на этот ярлык:
https://i.imgur.com/hkk0dAs.png
Получаете результат:
https://i.imgur.com/tZ7zNA8.png
2. Создаёте ярлык на этот пакетный файл на Рабочем столе. Перетаскиваете на этот ярлык папку из Проводника. Результат — тот же.
3. В Total Commander'е открываете на одной панели — каталог с пакетным файлом, на другой панели — родительский каталог для искомого каталога с файлами для обработки:
https://i.imgur.com/Uxmt3Bd.png
Выделив курсором пакетный файл на панели, нажимаете Ctrl-Shift-Enter, подставляя тем самым полный путь к пакетному файлу в командную строку:
https://i.imgur.com/QAaU5U1.png
Нажимате Tab, выделяете на соседней панели искомый каталог с файлами, опять нажимаете Ctrl-Shift-Enter, подставляя в командную строку полный путь к искомому каталогу:
https://i.imgur.com/yMzZtOL.png
Нажимаете Enter, отправляя содержимое командной строки интерпретатору команд на исполнение — получаете результат:
https://i.imgur.com/XwGNpAX.png
И тому подобное.
Latinyanin
24-12-2020, 15:41
Iska,
спасибо, конечно
Latinyanin
21-01-2021, 15:35
Iska,
Снова привет!
https://i114.fastpic.ru/thumb/2021/0121/3b/b2e307406aa64888458eac3a79e23d3b.jpeg (https://fastpic.ru/view/114/2021/0121/b2e307406aa64888458eac3a79e23d3b.jpg.html)
.
Если вам не трудно будет мне нужен скрипт небольшой, который бы "допилил" под мои нужды результаты работы FB2Toolbox. На скриншооте
FB2Toolbox.exe
виден список книг одной серии. Скрипт должен добавить в имя файла два компонента:
один пробел перед и после каждого тире(-)
добавить ноль перед каждой цифрой списка от 1 до 9
сама папка с файлами для переименовывания https://www.upload.ee/images/dl_f.gif (https://www.upload.ee/files/12793834/____________1_-_10.zip.html)
Возможно?
Может надо отдельную тему создать?
Latinyanin
21-01-2021, 18:19
Ладно, отдельную тему создам тогда
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.