![]() |
|
Собрать файл из многих | ☑ | ||
---|---|---|---|---|
0
Chum
06.11.19
✎
12:46
|
Коллеги, может, кто-то сталкивался:
Есть большой древовидный каталог, в каждой папке которого какие-то файлы (текстовые). Вопросов два: 1. Чем можно автоматически построить дерево каталогов (желательно с содержимым) и результат поместить в файл (текстовый или графический)? 2. Чем можно собрать содержимое всех файлов из этой структуры в один, желательно в виде: полное имя файла 1 содержимое полное имя файла 2 содержимое Наверняка есть какое-то простое и готовое решение? |
|||
1
Fragster
гуру
06.11.19
✎
12:47
|
в линуксе изи через bash и find с cat делается
|
|||
2
Chum
06.11.19
✎
12:47
|
(1) а под виндой?
|
|||
3
Василий Алибабаевич
06.11.19
✎
12:49
|
(2)
cmd tree > outputfile.txt |
|||
4
Василий Алибабаевич
06.11.19
✎
12:49
|
+ (3) + dir
|
|||
5
mistеr
06.11.19
✎
12:51
|
(2) Под виндой соответственно через cmd, dir и type.
|
|||
6
mistеr
06.11.19
✎
12:52
|
(3) tree /f — с файлами.
|
|||
7
Chum
06.11.19
✎
12:53
|
Ok. Дерево есть. Спасибо (2)(6).
теперь осталось все файлы в один слить |
|||
8
Василий Алибабаевич
06.11.19
✎
12:53
|
(0) "собрать содержимое всех файлов из этой структуры в один" - copy наше всьо. Если файлы текстовые.
|
|||
9
mistеr
06.11.19
✎
12:58
|
(7) Придется немного изучить язык батников. for /r — обход файлов с подкаталогами.
|
|||
10
ДенисЧ
06.11.19
✎
13:02
|
(2) В винде тоже можно найти "bash и find с cat"
особенно в вин10 |
|||
11
Chum
06.11.19
✎
13:31
|
Короче говоря, подсмотрел вариант решения.
Создается батник с текстом: ------- начало файла ------- echo off set "result=outfile.txt" >nul subst/d ?:& subst ?: .& pushd ?:\ >"%result%" ( for /f "tokens=* delims=?:\" %%i in ('2^>nul dir/a-d/b/s *.*') do @( if "%%i" neq "%result%" ( echo [%%i] <"%%i" more| more ) ) ) subst/d ?:& popd exit/b 0 ------- конец файла ------- В результате создает файл, где указаны полные имена файлов и их содержимое. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |