Страница 3 из 3

Утилита для извлечения текста из файлов (blb2txt.exe)

Добавлено: 05 апр 2021 19:20
balabolka
Dimsok
Если нужно только объединить тексты, то скрипт можно упростить:

Код: Выделить всё

@echo off
set OUTPUTFILENAME=%~1
set INPUTFILES=
shift
:loop1
if "%~1"=="" goto after_loop
set INPUTFILES=%INPUTFILES% -f "%~1"
shift
goto loop1
:after_loop
"D:\utils\blb2txt.exe" -u -out "%OUTPUTFILENAME%"%INPUTFILES%
Параметры будут выглядеть так:

Код: Выделить всё

"%Tmerged.txt" %P%S
Папка для временных файлов не требуется.

Утилита для извлечения текста из файлов (blb2txt.exe)

Добавлено: 05 апр 2021 19:43
Lecron
balabolka писал(а):
05 апр 2021 17:47
А вот моя программа принять на вход неопределенное количество имен файлов в командной строке не может; для этого мне надо что-то выдумывать (подскажите решение для командной строки, если кто-то знает).
В таких случаях часто передают имя файла, содержащего имена помеченных/обрабатываемых файлов. В FAR метасимвол !@! в пользовательском меню и ассоциированных командах.
У архиваторов реализовано например

Код: Выделить всё

-ai[r[-|0]]{@listfile|!wildcard} : Include archives
balabolka писал(а):
05 апр 2021 17:47
решение для подобных проблем уже есть: надо использовать BAT-файл.
Конвертер умеет выводить результат в stdout. Можно вообще в один проход.

Код: Выделить всё

blb2txt.exe -f "%~1" -o >> union.txt

Утилита для извлечения текста из файлов (blb2txt.exe)

Добавлено: 05 апр 2021 20:57
balabolka
Lecron писал(а):
05 апр 2021 19:43
В таких случаях часто передают имя файла, содержащего имена помеченных/обрабатываемых файлов. В FAR метасимвол !@! в пользовательском меню и ассоциированных командах.
Да, это и надо использовать. В Total Commander есть аналогичный параметр %L. Файл со списком выбранных файлов хранится во временной папке и удаляется сразу после выполнения команды.

Утилита для извлечения текста из файлов (blb2txt.exe)

Добавлено: 08 апр 2021 20:34
balabolka
Версия 1.99
  • Добавлен параметр для выбора имени файла со списком имен текстовых файлов.

Утилита для извлечения текста из файлов (blb2txt.exe)

Добавлено: 09 апр 2021 09:46
Dimsok
balabolka писал(а):
05 апр 2021 17:47
Не понял, о чем идет речь. Что такое "вырезанные файлы"?
Имелись в виду файлы, на которые разбивается текст при нахождении ключевого слова. Речь о том, чтобы можно было менять расширение txt таких файлов. Ещё было бы полезно разбиение при нахождении одной пустой строки (аналогично -w для двух), и возможность в разбитых файлах удалять эти пустые строки (как при параметр -r).

Утилита для извлечения текста из файлов (blb2txt.exe)

Добавлено: 09 апр 2021 12:15
balabolka
Dimsok писал(а):
09 апр 2021 09:46
возможность в разбитых файлах удалять эти пустые строки
Это можно сделать при помощи словаря коррекции произношения. Насколько я помню, сначала текст разбивается на части, затем применяются правила из словарей.
Правило для REX-словаря может выглядеть, например, так:

Код: Выделить всё

(\r\n){2,}=$1
Оно удалит все пустые строки в файле.

Насчет остальных Ваших предложений обещаю подумать.

Утилита для извлечения текста из файлов (blb2txt.exe)

Добавлено: 16 апр 2021 21:23
balabolka
Версия 1.100
  • Добавлен параметр для указания расширения файла с извлеченным текстом.
  • Добавлен параметр для извлечения таблиц из файлов форматов DOCX/FB2/FB3/ODT.
  • Обновлено извлечение текста из файлов форматов DOCX/FB2/FB3/HTML/ODT.

Утилита для извлечения текста из файлов (blb2txt.exe)

Добавлено: 23 май 2021 19:58
balabolka
Версия 1.101
  • Добавлена поддержка переменной %Title% в шаблон для имен файлов с извлеченным текстом. Переменная позволяет вставить заголовок HTML-документа (при извлечении текста из файлов формата HTML).