Имя: Пароль:
IT
 
Собрать файл из многих
,
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
------- конец файла -------


В результате создает файл, где указаны полные имена файлов и их содержимое.
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn