Closed iprst closed 1 year ago
Я не силен в windows cmd, но поискал. Идея использовать цикл for для обхода по папкам, зайти в папку, применить команду, выйти из папки
Я сделал у себя такую структуру:
c:\terratensot\type-test
в папке type-test
положил 2 папки 1
и 2
в каждой папке html файлы
![2023-07-15_00-15-55](https://github.com/terratensor/kob-library-app/assets/10896447/c3da808a-4868-443e-b257-427b93b995da) ![2023-07-15_00-16-15](https://github.com/terratensor/kob-library-app/assets/10896447/3c0380ba-130e-49e7-bd0a-fbf23b4dfa6b)
Далее запустил в cmd команду (запускал команду из папки type-test в которой лежат папки для обработки):
for /D %i in (*) do (cd %i & type *.html > final.html & cd ..)
![2023-07-15_00-20-02](https://github.com/terratensor/kob-library-app/assets/10896447/c5bc7442-8433-489d-8f32-c4a339ddc9b2)
И в каждой папке получилось по файлу final.html Наверное можно сделать красивее, можно идею развивать дальше.
Ссылки для ознакомления: https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/for https://ab57.ru/cmdlist/for.html https://scriptcoding.ru/cmd-cykl/ https://scriptcoding.ru/komandnaya-stroka-for/
Благодарю, то что надо. На склеивание 11К+ файлов в 4271 папке ушло всего три с половиной минуты.
4271 — столько будет добавлено новых книг, которые мы пока ещё не добавляли.
Собрано более 4 тысяч папок с текстами книг военно-исторической библиотеки в формате html. Часто в папке всего два файла — страница индекса со всей библиографической информацией, и страница с текстом книги. Иногда текст книги разделён на главы, если это большой роман (таких случаев предостаточно), и каждая глава представляет собой отдельную страницу html.
Когда мне для обработки попадается подобная папка в одиночном режиме, всё просто — в адресной строке проводника вызывается cmd и там сразу простенькая команда:
В результате её выполнения все файлы в папке с соответствующим расширением сливаются в один большой файл, который далее обрабатывается любым браузером или парсером как целое. В случае html с прописанным в тегах названием книги и её автором, файлы к тому же очень просто переименовать в правильное название.
На выходе мне нужно получить все сборные файлы для каждой из 4+ тысяч папок без необходимости проводить 4+ тысяч одинаковых операций по слиянию. Но как перейти от одиночной процедуры к массовой мне неизвестно.