MD Factory сохраняет отдельный файл Markdown для каждого документа. Чтобы получить один файл, сначала преобразуйте документы, затем соедините файлы Markdown короткой командой PowerShell, которая добавляет строку-источник перед каждым.

В итоге получится один файл, в котором каждый документ начинается с имени источника. Изображения продолжают работать, потому что объединённый файл лежит рядом с папками изображений.

Четыре небольшие стопки бумаги рядом с одной толстой стопкой, скреплённой сиреневым зажимом, и сиреневый карандаш впереди.
Несколько документов, один файл.

Когда удобен один файл

Один файл удобен, когда инструмент принимает только одну загрузку или ограничивает число прикрепляемых файлов, когда вы хотите читать несколько документов как один текст или вставить весь набор в один запрос.

Держите по одному файлу на документ, если папку будет просматривать агент для программирования. Он откроет только нужный файл, а имя файла указывает на источник: см. как дать Claude Code, Cursor и Codex доступ к вашим файлам PDF и Word. Объединяйте только документы, которые относятся друг к другу, потому что очень длинный файл может оказаться больше, чем ИИ-инструмент прочитает за раз.

Преобразуйте документы

  1. Соберите документы, которые относятся друг к другу, в одной папке.
  2. Откройте MD Factory, нажмите «Добавить папку» и выберите её. Преобразование начинается сразу, а каждый файл Markdown сохраняется рядом с оригиналом.
  3. Дождитесь, пока в каждой строке появится «Готово», «Требуется проверка» или «Ошибка». Нажмите «Требуется проверка», чтобы прочитать, что проверить, и исправьте эти места до объединения файлов.

Команда ниже соединяет все файлы .md в папке, поэтому преобразуйте только то, что должно попасть в объединённый файл. Если не хотите, чтобы копии с номерами, например Budget (2).md, попали в него, сначала удалите их.

Объединение файлов в PowerShell

  1. В Проводнике откройте папку с файлами Markdown.
  2. Щёлкните адресную строку, введите powershell и нажмите Enter.
  3. Вставьте эту команду и нажмите Enter:
$files = Get-ChildItem -Filter *.md | Where-Object Name -ne "combined.md" | Sort-Object Name
$parts = foreach ($file in $files) {
    "Source file: " + $file.Name + "`n`n" + (Get-Content -LiteralPath $file.FullName -Raw -Encoding utf8)
}
$text = $parts -join "`n`n---`n`n"
[System.IO.File]::WriteAllText("$PWD\combined.md", $text, (New-Object System.Text.UTF8Encoding $false))

Результат — файл combined.md в той же папке. Документы идут друг за другом в алфавитном порядке. Каждый начинается со строки вида Source file: annual-report.md, а горизонтальная линия отделяет его от предыдущего документа.

Оставьте в команде настройки UTF-8: без них Windows PowerShell может исказить буквы с диакритикой и нелатинские буквы.

Чтобы задать порядок, поставьте в начале имён файлов Markdown номер, например 01-contract.md, до запуска команды. Если запустить команду повторно, combined.md заменяется и не читается как один из документов.

Объединение только части файлов

Чтобы объединить часть папки, измените фильтр в первой строке. Например, чтобы взять только файлы, имена которых начинаются с 2026-:

$files = Get-ChildItem -Filter "2026-*.md" | Sort-Object Name

Остальную часть команды оставьте как есть. Если вы собираете несколько объединённых файлов в одной папке, дайте каждому своё имя, изменив combined.md в команде.

Как выглядит объединённый файл

Source file: contract.md

# Supplier contract

...

---

Source file: handbook.md

# Team handbook

Текст каждого документа не меняется. Новыми становятся только строка с источником и разделитель.

Изображения в объединённом файле

Изображения каждого документа лежат в папке рядом с его файлом Markdown, а ссылки в combined.md указывают на эти папки. Держите combined.md в одной папке с папками изображений. Если вы его перемещаете, перемещайте папки изображений вместе с ним.

Команда соединяет файлы одной папки. Для документов во вложенных папках запускайте её в каждой вложенной папке, чтобы каждый объединённый файл оставался рядом со своими изображениями.

Проверьте объединённый файл

Посчитайте строки с источником. Эта команда выводит число документов в файле, которое должно равняться числу файлов Markdown:

(Select-String -Path combined.md -Pattern "^Source file: " -Encoding utf8).Count

Затем посмотрите на сам файл:

  • Откройте combined.md и прокрутите до границы между двумя документами. Разделитель и строка с источником должны быть между ними.
  • В каждом документе остаются свои заголовки, поэтому в файле несколько заголовков верхнего уровня. Строки с источником показывают, где начинается каждый документ.
  • Если ИИ-инструмент отклоняет файл как слишком длинный, разделите набор на две папки и объедините каждую.

Откройте или загрузите результат

Файл combined.md открывается в Блокноте и в Visual Studio Code, который может показать его с форматированием: нажмите Ctrl+Shift+V. Другие приложения перечислены в материале о том, что такое файл MD и как его открыть. Если форма загрузки не принимает файлы .md, загрузите копию, переименованную в combined.txt.

Чтобы перечислить документы в начале файла, выведите строки с источником и вставьте их:

Select-String -Path combined.md -Pattern "^Source file: " -Encoding utf8 | ForEach-Object Line

Объясните ИИ, как устроен файл

Инструмент, который читает combined.md, работает лучше, если знает, как устроен файл. Достаточно короткой инструкции в начале запроса:

Прочитай combined.md. Каждый документ начинается со строки
"Source file: name", а горизонтальная линия завершает
предыдущий документ. В ответе называй файл-источник,
который ты использовал.

Сверьте несколько ответов с названными файлами. Название полезно, только если оно верное.

Если документ изменился

combined.md — это копия, он не следует за документами. Добавьте изменённый документ в MD Factory ещё раз, затем снова запустите команду.

Объединённый файл содержит текст всех документов, поэтому обращайтесь с ним так же осторожно, как с оригиналами. Если папка синхронизируется с облаком, файл синхронизируется тоже: см. как преобразовать документы без их загрузки.

Вопросы

Может ли MD Factory сам объединить документы?

Нет. Он сохраняет отдельный файл Markdown для каждого документа.

Работает ли команда в PowerShell 7?

Она работает и в Windows PowerShell, и в PowerShell 7.