Инструменты
Как передать большой файл через интернет: 7 проверенных способов
Облако, файлообменник, Telegram или архив — сравнительная таблица лимитов и советы по безопасности.
Файл не помещается на флешку с FAT32, почта режет вложения на 25 МБ, а облако с бесплатным тарифом не принимает архив целиком — знакомая ситуация. Решение простое: разбить файл на несколько частей поменьше, отправить или записать их по отдельности, а на другом конце собрать обратно в исходный файл. Разбираем шесть рабочих способов — от архиватора до команды split — и, главное, как правильно собрать части обратно без ошибок.
Коротко: разделить файл на части проще всего многотомным архивом (7-Zip или WinRAR) — это работает на любом типе файла и не требует программирования. Total Commander, PowerShell и команда split — альтернативы без архивации. Собирать части нужно строго по порядку и не переименовывая файлы — иначе результат не откроется.

Разбить файл на части нужно, когда его вес упирается в чей-то лимит — не в характеристики самого файла. Основные ситуации:
Если вам просто нужно передать файл целиком и лимиты не критичны, возиться с частями необязательно — быстрее воспользоваться облаком или файлообменником напрямую: способы разобраны в статье как передать большой файл через интернет. Дробление на части имеет смысл именно тогда, когда обойти лимит другим способом нельзя.
Многотомный архив (split archive) — это архив, физически разложенный на несколько файлов фиксированного размера. Открыть и восстановить исходный файл можно, только имея все тома вместе: архиватор сам склеивает их при распаковке. Это самый универсальный способ — подходит для любого типа файла: видео, ISO-образа, произвольного бинарника.
25m для лимита почты..7z.001, .7z.002 и так далее.Если формат архивов вообще вызывает вопросы — какой контейнер выбрать, чем ZIP отличается от 7Z и RAR — см. сравнение ZIP, RAR или 7Z: какой формат архива выбрать. Базовые шаги обычной архивации (без деления на тома) — в гайде как заархивировать папку в ZIP. Если результат — файл именно с расширением .7z и непонятно, чем его открыть, смотрите чем открыть 7Z.
archive.part1.rar, archive.part2.rar.Имена и расширения файлов тома (.001/.002 у 7-Zip, .part1.rar/.part2.rar у WinRAR) — не просто ярлык, а часть механизма сборки: архиватор ориентируется на них, чтобы найти следующий кусок. Переименовали один том или сменили расширение — архив перестанет собираться, даже если все части на месте.
Total Commander умеет резать файл на части напрямую, без упаковки в архив — то есть части не сжимаются, а остаются «сырыми» кусками исходных байтов.
file.001, file.002 и служебный файл file.crc для проверки после сборки.Плюс способа — не нужно ничего сжимать и распаковывать заново: части остаются в исходном формате данных, разбитом механически по байтам.
В Linux и macOS есть встроенная утилита split из пакета GNU coreutils — она режет любой файл на части без установки дополнительного софта. Документация по всем флагам — на официальной странице GNU coreutils.
# разбить на части по 25 мегабайт каждая
split -b 25m bigfile.zip bigfile.zip.part_
# разбить по количеству строк (для текстовых файлов), по 1000 строк на часть
split -l 1000 data.csv data.csv.part_
# с числовыми суффиксами вместо буквенных (part_00, part_01…)
split -b 25m -d bigfile.zip bigfile.zip.part_Ключ -b задаёт размер части в байтах (суффиксы k, m, g — килобайты, мегабайты, гигабайты), -l — число строк на часть (подходит только для текстовых файлов вроде CSV или логов), -d — использовать цифровые суффиксы вместо букв по умолчанию. Результат — набор файлов bigfile.zip.part_aa, bigfile.zip.part_ab и так далее (или _00, _01 с ключом -d).
Если ставить архиватор не хочется, разбить произвольный файл можно и штатным PowerShell — он есть в любой современной Windows.
$source = "C:\files\bigfile.iso"
$chunkSizeMB = 25
$bufferSize = $chunkSizeMB * 1MB
$reader = [System.IO.File]::OpenRead($source)
$buffer = New-Object byte[] $bufferSize
$index = 0
while (($read = $reader.Read($buffer, 0, $bufferSize)) -gt 0) {
$partPath = "$source.part$index"
$writer = [System.IO.File]::OpenWrite($partPath)
$writer.Write($buffer, 0, $read)
$writer.Close()
$index++
}
$reader.Close()Скрипт читает исходный файл блоками фиксированного размера ($chunkSizeMB) и пишет каждый блок в отдельный файл bigfile.iso.part0, bigfile.iso.part1 и так далее. Официальная документация PowerShell — на learn.microsoft.com/powershell. Способ удобен, когда нужно один раз разбить файл на корпоративном компьютере без прав на установку программ.
Есть отдельный класс бесплатных утилит под Windows, которые умеют только одно — резать и склеивать файлы, зато делают это гибко:
Такие программы имеет смысл ставить, если делить файлы приходится регулярно и нужен более гибкий контроль над именами частей и форматом, чем даёт архиватор или Total Commander.
Если нужно разбить не произвольный файл, а именно PDF-документ — например, разложить большой отчёт на главы или уменьшить вес каждой части для отправки, — общие способы выше не подходят: они режут файл механически по байтам, и получившиеся куски не будут открываться как отдельные PDF. Для PDF используйте специализированный инструмент разбить PDF — он делит документ постранично, и каждая часть остаётся полноценным читаемым файлом. Обратная операция — объединить PDF, если нужно собрать несколько документов в один.
Для видео тоже стоит различать две разные задачи. Если просто нужно уменьшить размер файла для пересылки (без деления на смысловые части) — подойдёт любой из способов выше, включая многотомный архив. А если нужно нарезать видео именно по содержанию — на отдельные фрагменты по времени, без потери качества и повторного сжатия, — для этого существуют видеоредакторы с функцией «разрезать без перекодирования» (lossless cut): они копируют потоки напрямую, без повторного кодирования, поэтому качество не теряется.
Это ключевой раздел, который у большинства инструкций в интернете сведён к паре слов — а между тем именно на этапе сборки чаще всего теряют файл. Порядок зависит от того, каким способом части создавались.
.7z.001 у 7-Zip или .part1.rar у WinRAR.Открывать нужно именно первый том — если дважды кликнуть по .7z.002, архиватор либо откажется, либо распакует только часть данных.
file.001, file.002…) и файл file.crc в одну папку.file.001).file.crc.# Linux / macOS: склеить части обратно в исходный файл
cat bigfile.zip.part_* > bigfile.zipСимвол * подставляет все части по маске имени в алфавитном порядке — именно поэтому важно не переименовывать и не удалять отдельные части: порядок сборки зависит от сортировки имён файлов.
:: Windows: аналог склейки через встроенную команду copy
copy /b bigfile.zip.part_aa+bigfile.zip.part_ab+bigfile.zip.part_ac bigfile.zipКлюч /b у команды copy обязателен — он указывает бинарный режим склейки. Без него Windows может интерпретировать данные как текст и повредить файл.
$output = [System.IO.File]::Create("C:\files\bigfile_restored.iso")
Get-ChildItem "C:\files\bigfile.iso.part*" | Sort-Object Name | ForEach-Object {
$bytes = [System.IO.File]::ReadAllBytes($_.FullName)
$output.Write($bytes, 0, $bytes.Length)
}
$output.Close()Обратите внимание на Sort-Object Name — части нужно склеивать строго в правильном порядке имён, иначе итоговый файл будет собран из кусков не в той последовательности и окажется нечитаемым.
После склейки частей сравните контрольную сумму (MD5 или SHA-256) собранного файла с суммой оригинала — так вы сразу увидите, если при передаче или сборке что-то потерялось. Как это сделать — в гайде как проверить контрольную сумму файла.
cat, copy /b и подобных команд порядок частей нужно указывать вручную или полагаться на сортировку имён — при путанице получится файл со случайно переставленными блоками данных.| Способ | Платформа | Нужна программа | Сложность | Когда выбрать |
|---|---|---|---|---|
| Многотомный архив (7-Zip/WinRAR) | Windows, Linux, macOS | Да | Низкая | Универсальный вариант по умолчанию для любого типа файла |
| Total Commander | Windows | Да | Низкая | Уже пользуетесь Total Commander и не хотите сжимать файл |
| split | Linux, macOS | Нет (встроено) | Средняя | Работа в терминале, серверные и скриптовые сценарии |
| PowerShell | Windows | Нет (встроено) | Средняя | Нельзя ставить сторонние программы на компьютере |
| FFSJ / GSplit / HJSplit | Windows (частично Linux/macOS) | Да | Низкая | Нужна гибкая настройка имён частей или self-extracting части |
| Инструмент «Разбить PDF» | Онлайн, любая ОС | Нет | Низкая | Нужно разложить именно PDF на читаемые части постранично |
Да — через PowerShell, который есть в любой современной Windows: скрипт читает файл блоками и сохраняет каждый блок как отдельную часть. Ставить сторонние программы для этого не нужно.
Соберите все тома в одну папку без переименования и дважды кликните по самому первому тому — .7z.001. 7-Zip автоматически найдёт остальные части рядом и распакует исходный файл целиком.
Многотомный архив не соберётся, пока повреждённый том не будет заменён исправной копией — например, перекачан заново. Если исправной копии нет, попробуйте восстановить архив по инструкции в гайде «как восстановить повреждённый архив»; полное восстановление данных из битого тома не гарантировано.
Нет, если делить через многотомный архив, Total Commander, split или PowerShell — эти способы режут файл механически по байтам, без перекодирования, и после сборки вы получаете абсолютно идентичный оригиналу файл. Качество может измениться только если вы отдельно конвертируете или пережимаете видео — это не имеет отношения к делению на части.
Ориентируйтесь на лимит конкретного сервиса с небольшим запасом: например, если лимит вложения 25 МБ, выбирайте размер тома 20–23 МБ, чтобы служебные заголовки не превысили ограничение.
Штатными средствами большинства облачных сервисов — нет: деление на части выполняется локальной программой (архиватором, Total Commander, скриптом), которая работает с файлом на диске. Проще всего скачать файл, разбить его локально и загрузить части обратно.
Самые частые причины: части собраны не в том порядке, один из файлов переименован или потерян, скачивание одной из частей не завершилось до конца, либо при склейке командой copy в Windows не указан ключ /b для бинарного режима. Проверьте контрольную сумму собранного файла — она укажет, есть ли вообще проблема с данными.