Как разделить файл на части в Windows

Если для передачи, хранения или других целей вам потребовалось разделить большой файл на несколько частей, сделать это в Windows 11, 10 и предыдущих версиях системы можно несколькими способами: с помощью команд PowerShell и командной строки, в сторонних программах, или с помощью онлайн-сервисов, впрочем в последнем случае ОС не будет играть роли.
В этой инструкции подробно о нескольких способах разделить большой файл на несколько частей, а также кратко о разделении файлов различных типов: pdf и txt, видео и других.
Способы разделить большой файл на части
Эта часть инструкции не касается какого-то определенного типа файлов: разделяется любой файл, независимо от типа и содержимого — это может быть текстовый файл или двоичный, медиа или что-то ещё. Для большинства из них чтение станет невозможным до последующего объединения частей.
Разделение файла на несколько частей в PowerShell
Первая возможность — использовать команды и скрипты PowerShell.
FIleSplitter
Если вы не готовы самостоятельно писать такие скрипты, рекомендую использовать готовый модуль для разделения файлов:
- Запустите PowerShell от имени Администратора. В Windows 11 и Windows 10 это можно сделать, нажав правой кнопкой мыши по кнопке «Пуск» и выбрав пункт «Windows Powershell (Администратор)» или «Терминал Windows (Администратор)».
- Установите модуль FileSplitter с помощью команды
Install-Module -Name FileSplitter

в процессе потребуется подтвердить установку вводом Y и нажатием Enter.
Примеры использования команд:
Split-File -Path "C:\test.zip" -PartSizeBytes 2.5MB
Делит файл C:\test.zip на части размером 2.5 Мб с именами testzip.00.part, testzip.01.part и далее в том же расположении, где хранится оригинальный файл.
Join-File -Path "C:\test.zip"
Команда ищет файл c:\testzip.00.part и остальные части, объединяет их в файл C:\test.zip
Теперь несколько примеров скриптов PowerShell которые могут быть полезны, если вы захотите проработать свою реализацию.
Разделение текстового файла в PowerShell
Скрипт для разделения файла с текстовым содержимым (txt, log и других) на части установленного в первой строке размера, при этом разделение происходит по строкам без их обрыва посередине:
$upperBound = 1MB $ext = "txt" $rootName = "txt_" $reader = new-object System.IO.StreamReader("C:\text.txt") $count = 1 $fileName = "." -f ($rootName, $count, $ext) while(($line = $reader.ReadLine()) -ne $null) < Add-Content -path $fileName -value $line if((Get-ChildItem -path $fileName).Length -ge $upperBound) < ++$count $fileName = "." -f ($rootName, $count, $ext) > > $reader.Close()
Разделение и объединение произвольного двоичного файла
Скрипт для разделения произвольного файла на части:
function Split-Files < [CmdletBinding()] Param ( [Parameter(Mandatory = $true, ValueFromPipeLine = $true, ValueFromPipelineByPropertyName = $true)] [String] $InputFile, [Parameter(Mandatory = $true)] [String] $OutputDirectory, [Parameter(Mandatory = $false)] [String] $OutputFilePrefix = "chunk", [Parameter(Mandatory = $false)] [Int32] $ChunkSize = 4096 ) Begin < Write-Output "Beginning file split. " >Process < if (-not (Test-Path -Path $OutputDirectory)) < New-Item -ItemType Directory $OutputDirectory | Out-Null Write-Verbose "Created OutputDirectory: $OutputDirectory" >$FileStream = [System.IO.File]::OpenRead($InputFile) $ByteChunks = New-Object byte[] $ChunkSize $ChunkNumber = 1 While ($BytesRead = $FileStream.Read($ByteChunks, 0, $ChunkSize)) < $OutputFile = Join-Path -Path $OutputDirectory -ChildPath "$OutputFilePrefix$ChunkNumber" $OutputStream = [System.IO.File]::OpenWrite($OutputFile) $OutputStream.Write($ByteChunks, 0, $BytesRead) $OutputStream.Close() Write-Verbose "Wrote File: $OutputFile" $ChunkNumber += 1 >> End < Write-Output "Finished splitting file." >> function Unsplit-Files < [CmdletBinding()] Param ( [Parameter(Mandatory = $true)] [String] $InputDirectory, [Parameter(Mandatory = $false)] [String] $InputFilePrefix = "chunk", [Parameter(Mandatory = $true)] [String] $OutputDirectory, [Parameter(Mandatory = $true)] [String] $OutputFile ) Begin < Write-Output "Beginning file unsplit. " >Process < if (-not (Test-Path -Path $OutputDirectory)) < New-Item -ItemType Directory $OutputDirectory | Out-Null Write-Verbose "Created OutputDirectory: $OutputDirectory" >$OutputPath = Join-Path -Path $OutputDirectory -ChildPath $OutputFile $OutputStream = [System.Io.File]::OpenWrite($OutputPath) $ChunkNumber = 1 $InputFilename = Join-Path -Path $InputDirectory -ChildPath "$InputFilePrefix$ChunkNumber" while (Test-Path $InputFilename) < $FileBytes = [System.IO.File]::ReadAllBytes($InputFilename) $OutputStream.Write($FileBytes, 0, $FileBytes.Count) Write-Verbose "Unsplit File: $InputFilename" $ChunkNumber += 1 $InputFilename = Join-Path -Path $InputDirectory -ChildPath "$InputFilePrefix$ChunkNumber" >$OutputStream.close() > End < Write-Output "Finished unsplitting file." >>
Пример использования (импорт модуля, разбиение файла и объединение):
Import-Module C:\Split-Files.ps1 Split-Files -InputFile "путь_к_большому_файлу.zip" -OutputDirectory "путь_к_месту_сохранения" -ChunkSize РАЗМЕР_ЧАСТИ_В_БАЙТАХ -Verbose Unsplit-Files -InputDirectory "путь_к_месту_хранения_частей_файла" -OutputDirectory "путь_к_месту_сохранению_объединенного_файла" -OutputFile имя_объединенного_файла.zip
MakeCab
В Windows присутствует встроенная утилита для создания файлов .cab, которую можно использовать для разделения файла на части. Порядок действий:
-
Создайте текстовый файл ddf.txt с содержимым:
.Set CabinetNameTemplate=test_*.cab;makecab /f путь_к_файлу_ddf.txtextrac32 filecab путь_к_объединенному_файлуСторонние программы с функциями разделения файлов
Существуют сторонние приложения, специально предназначенные для разделения файлов на части, а также инструменты, которые имеют такую возможность как часть своего функционала. Начнем с самого распространенного варианта — архиваторы.
Архиваторы
Большинство архиваторов имеют возможность разделить создаваемый архив на несколько томов заданного размера. Если нам не требуется непосредственно архивация и нужно сэкономить место, достаточно создать архив без сжатия.
Например, в бесплатном архиваторе 7-Zip достаточно выбрать файл или файлы, нажать «Добавить», а потом настроить архив и размеры файлов, на которые он будет разбит, как на скриншоте ниже:
В WinRAR необходимые действия выполняются тем же образом, пример — на скриншоте:
В обоих случаях размер тома архива можно выбрать из списка, либо ввести вручную в соответствии с вашими потребностями. При использовании этого метода рекомендую использовать формат ZIP, как самый поддерживаемый.
Получить исходный файл можно просто положив все файлы архива в одно расположения и распаковав архив любым архиватором.
Total Commander
Известный многим архиватор Total Commander имеет опцию разбивки и сбора файлов в меню «Файл».
Достаточно выбрать файл на компьютере и использовать указанный пункт меню для разбивки файла с заданным размером частей.
В дальнейшем возможна сборка файла с помощью того же Total Commander.
Специальные утилиты для разбивки файлов
Также в Интернете вы можете найти множество утилит, которые специально предназначены для разделения файлов и их повторной сборки.
KFK File Splitter
Бесплатная утилита KFK имеет интерфейс на русском языке, достаточно понятный, чтобы объяснять, как именно им пользоваться не потребовалось, все действия для использования разбивки и обратной сборки очевидны:
FFSJ (File Splitter & Joiner)
FFSJ — программа, очень похожая на первую в списке, но без русского языка интерфейса. Выглядит как на изображении ниже:
В программе представлены две основные вкладки — для разделения и объединения файлов, а также третья — для просмотра контрольных сумм файлов.
GSplit
GSplit — одна из самых популярных программ для разделения файлов с хорошим набором дополнительных функций, но, к сожалению, без русского языка интерфейса.
Порядок простого использования GSplit:
- Выбираем исходный файл или несколько файлов в пункте «Original File».
- Задаем место сохранения разделенного файла в пункте «Destination Folder»
- Задаем размеры частей и тип частей в разделе Pieces — Type and Size.
- Запускаем разделение кнопкой Split.
В дальнейшем, когда потребуется, можно будет использовать кнопку Unite для объединения частей файлов.
Если требуется более простой подход и вариант настройки — используйте кнопку «Express» в меню программы. Также в инструменте вы найдете возможность создания «самообъединеняющихся» частей файлов: раздел Self-Uniting.
File Splitter (утилита командной строки)
Пример использования утилиты:
fsplit -split 1024 kb c:\file.txtДля объединения используем команду copy с параметром /a для текстовых и /b для произвольных двоичных файлов, пример:
copy /A test1.txt+test2.txt file.txtРазделение PDF, MP3 и других медиа файлов
Для разделения PDF файлов на части или страницы:
- Официальный инструмент разделения PDF файлов от Adobe — https://www.adobe.com/acrobat/online/split-pdf.html
- Неофициальный онлайн-сервис, но на русском: https://pdf.io/ru/split/
- И множество других.
Для разделения MP3:
- Сервис разделения аудио-файлов от veed.io
- Aspose Audio Splitter https://products.aspose.app/audio/ru/splitter/mp3
- И другие — в Интернете подобных онлайн-сервисов предостаточно.
Надеюсь, есть читатели, для которых информация окажется востребованной. Если остаются вопросы или, возможно, есть дополнения к статье, жду вашего комментария.
А вдруг и это будет интересно:
- Лучшие бесплатные программы для Windows
- MinerSearch — поиск и удаление майнера в Windows
- Program в автозагрузке Windows — что это и можно ли удалить?
- SSD определяется как HDD или наоборот в Windows — решение
- Не удалось запустить службу Windows Audio на Локальный компьютер — как исправить?
- Ошибка DXGI ERROR DEVICE HUNG — как исправить?
- Windows 11
- Windows 10
- Android
- Загрузочная флешка
- Лечение вирусов
- Восстановление данных
- Установка с флешки
- Настройка роутера
- Всё про Windows
- В контакте
- Одноклассники
- Живые обои на рабочий стол Windows 11 и Windows 10
- Лучшие бесплатные программы на каждый день
- Как скачать Windows 10 64-бит и 32-бит оригинальный ISO
- Как смотреть ТВ онлайн бесплатно
- Бесплатные программы для восстановления данных
- Лучшие бесплатные антивирусы
- Средства удаления вредоносных программ (которых не видит ваш антивирус)
- Встроенные системные утилиты Windows 10, 8 и 7, о которых многие не знают
- Бесплатные программы удаленного управления компьютером
- Запуск Windows 10 с флешки без установки
- Лучший антивирус для Windows 10
- Бесплатные программы для ремонта флешек
- Что делать, если сильно греется и выключается ноутбук
- Программы для очистки компьютера от ненужных файлов
- Лучший браузер для Windows
- Бесплатный офис для Windows
- Запуск Android игр и программ в Windows (Эмуляторы Android)
- Что делать, если компьютер не видит флешку
- Управление Android с компьютера
- Что такое MPRT в характеристиках монитора?
- MinerSearch — поиск и удаление майнера в Windows
- Program в автозагрузке Windows — что это и можно ли удалить?
- SSD определяется как HDD или наоборот в Windows — решение
- Не удалось запустить службу Windows Audio на Локальный компьютер — как исправить?
- Как автоматически скрывать строку меню и Dock в MacOS
- Ошибка DXGI ERROR DEVICE HUNG — как исправить?
- Как сбросить Windows на заводские настройки в командной строке
- Как создать отчет о работе Wi-Fi сети в Windows 11 и 10
- Устройство tap0901 — что это и как установить драйвер?
- Клавиши Alt и Win поменялись местами — как исправить?
- Ошибка 0x80072efd — как исправить?
- AV Block Remover — убираем блокировку антивирусов и сайтов майнером
- Ошибка 0x80070643 при обновлении KB5034441 — как исправить?
- Загрузочная флешка или карта памяти в balenaEtcher
- Windows
- Android
- iPhone, iPad и Mac
- Программы
- Загрузочная флешка
- Лечение вирусов
- Восстановление данных
- Ноутбуки
- Wi-Fi и настройка роутера
- Интернет и браузеры
- Для начинающих
- Безопасность
- Ремонт компьютеров
- Windows
- Android
- iPhone, iPad и Mac
- Программы
- Загрузочная флешка
- Лечение вирусов
- Восстановление данных
- Ноутбуки
- Wi-Fi и настройка роутера
- Интернет и браузеры
- Для начинающих
- Безопасность
- Ремонт компьютеров
Как разделить файл на части? Два простых способа разбить файл на несколько частей


Компьютерные программы становятся все сложнее, фильмы все более качественными, а игры получают улучшенную графику. Все это ведет к тому, что размеры файлов повышаются, и если фильм в небольшом разрешении 360p или 720p без проблем можно передать с компьютера на компьютер, то когда разрешение добралось до 4K, сделать это стало сложнее. В подобной ситуации необходимо разделить файл на части, а после его соединить обратно. Сделать это можно несколькими способами, но первым делом мы предлагаем разобраться с ситуациями, в которых может потребоваться разбитие файла на несколько частей.
Зачем делить файл на части?
С приходом внешних жестких дисков у многих отпала необходимость разбивать крупные файлы на части. Большие файлы без проблем можно загрузить на вместительный внешний носитель, а после перенести их с него на другой компьютер. Но бывают ситуации, в которых необходимо разбить файл на несколько частей, и вот лишь некоторые из них:

-
Загрузка объемного файла производится в «облачное» хранилище. Многие облачные сервисы хранения данных имеют ограничения по объему одного загружаемого файла. Некоторые из них сокращают срок хранения файлов, которые весят больше 1 Гб. Кроме того, выкачивать файлы с облачного хранилища частями гораздо удобнее, поскольку при неожиданном обрыве соединения не придется заново загружать весь объем информации;
Мы привели лишь три самых распространенных ситуации, в которых может понадобиться разбить большой файл на несколько частей. В узкоспециализированных областях могут быть и другие причины, к примеру, может понадобиться разделить файл, чтобы обеспечить дополнительную безопасность и невозможность доступа к нему без объединения всех частей в одну. Предлагаем рассмотреть два самых простых способа разделения большого файла на несколько частей.
Как разделить файл на части с помощью WinRar?

Самый распространенный и простой способ разбить файл на несколько частей – это использовать программу-архиватор WinRar. Данный способ наиболее прост, поскольку программа WinRar установлена на большинстве компьютеров, и собрать по частям разделенный файл несложно, также как и «порезать» его. Обратите внимание, что для выполнения указанных ниже инструкций требуется установленная программа WinRar.
Чтобы разделить файл на части в программе WinRar необходимо:

-
Нажать правой кнопкой на файле, разделение которого на части планируется, и выбрать пункт «Добавить в архив…».

Сверху в появившемся меню можно выбрать имя файла. Также программа позволяет задать размеры частей, на которые будет поделен файл, при этом предлагая самые распространенные размеры. Также можно задать пароль, который необходимо будет ввести для сбора деталей файла в один. После того как были выбраны все параметры, следует нажать на кнопку «ОК», в результате чего начнется создание нескольких архивов-частей файла.

Программа WinRar информативна, и процесс разбития файла на несколько частей будет сопровождаться окном состояния.
Как объединить файлы, разделенные в программе WinRar на части:

- Первым делом необходимо убедиться, что все части файла находятся в одной папке.
- После этого следует нажать на любой из созданных частей-архивов правой кнопкой мыши и выбрать пункт «Извлечь в текущую папку». Если есть необходимость извлечь файл в другую папку, то это можно настроить в меню, которое появится при нажатии на пункт «Извлечь файлы…».
Как можно видеть, процесс разделения файла на части с помощью программы WinRar довольно простой. К его плюсам можно отнести архивацию выбранных файлов, то есть по окончанию разбития на части они весят меньше, чем оригинальный объект. Это позволяет разделить файл на меньшее количество частей.
Как разделить файл на части с помощью Total Commander?
Не менее известной программой, чем WinRar, среди опытных пользователей компьютеров является Total Commander. Программа используется в различных целях, в том числе и для работы с файлами и папками на компьютере. Она позволяет с легкостью разделить файл на части, нажав несколько кнопок.
Чтобы разделить файл на части в программе Total Commander следует:

- Скачать программу Total Commander на компьютер, если она еще не установлена, и запустить ее.
- Далее требуется в левой или правой части найти файл, который будет разделен на части.

На этапе третьего шага выделите файл, разбивка которого предполагается, и нажмите в программе на пункты меню «Файлы» — «Разбить файл».

Следом необходимо в открывшемся окне удостовериться, что каталог, куда будет помещен разбитый файл, соответствует вашему пожеланию. В случае если это не так, прописать путь для сохранения файла можно вручную или выбрать необходимую папку каталога, задав ее через пункт меню «Дерево». Также при разбиении укажите максимальный размер создаваемых файлов. После этого нажмите на кнопку «ОК».
Как объединить файлы, разделенные в программе Total Commander на части:

-
Для объединения частей в единый файл также потребуется программа Total Commander. Выбираем в левой или правой области файл, с которого требуется начать объединения объекта. Внимание: Выбирайте файл с расширением crc, именно он содержит в себе информацию об итоговом строении целого файла.

В отличие от WinRar, программа Total Commander не занимается архивацией файлов, а это значит, что части файла суммарно займут примерно столько же места, сколько отдельный объект. Однако у Total Commander имеется одно серьезное преимущество – он значительно быстрее, чем WinRar, делит файлы на части и собирает их воедино, что полезно при работе с большим объемом информации.
Как разбить большой файл на части (на куски), а то он не помещается на флешку (диск).

Вопрос от пользователя
Здравствуйте.
Подскажите, у меня есть одно видео на 20 ГБ (видеозапись одной игры). Хочу перекинуть его на другой компьютер, но файл не помещается на мой флешку (она 16 ГБ).
Теперь есть вариант - либо купить новую большую флешку (или переносной диск), либо найти способ как-то передать файл по частям (например, разбить файл на 2 части). Пробовал перекодировать видео — но ждать нужно целые сутки, и то не факт, что переконвертируется и станет меньше.
Артур, Петрозаводск
Доброго дня!
Вообще, подобная задача достаточно часто встречалась ранее, когда не так развит был Интернет и не было емких носителей (сейчас один внешний жесткий диск способен решить эту проблему ).
В этой статье приведу несколько способов, с помощью которых вы быстро сможете разбить любой файл на несколько частей (нужных вам по размеру), а потом, когда перенесете его на другой носитель, собрать (так, чтобы все открылось и читалось).
Способы, как разделить большой файл на части
Способ №1: создание многотомного архива
Один из самых простых и быстрых способов разбить абсолютно ЛЮБОЙ файл(ы) (или даже папку) — это поместить ее в многотомный архив. Причем, размер тома можно задать вручную, именно тот, который вам нужен.
Для тех, кто боится, что время создания архива будет слишком большим, скажу, что архив можно создать БЕЗ СЖАТИЯ! Т.е. архив будет нужен лишь для того, чтобы упаковать информацию, и разбить ее по томам (кстати, архив без сжатия достаточно быстро упаковывается).
Для работы нам потребуется архиватор. Я рекомендую остановиться на 7-Zip (он бесплатный, удобный и многофункциональный). Ниже привожу адрес статьи, где сможете найти ссылки для загрузки архиваторов, а также их подробное описание.

В помощь!
Лучшие бесплатные архиваторы - моя добротная подборка
Итак, будем считать, что 7-Zip у вас есть .
Находим папку или файл, который нужно разделить: щелкаем по нему правой кнопкой мышки и в контекстном меню проводника выбираем "7-Zip > Добавить к архиву" (см. скриншот ниже).

Добавить к архиву
В настройках создания архива нужно:
- уровень сжатия: рекомендуется "Без сжатия" (так вы затратите гораздо меньше времени. Тем более, видеофайл не сожмется таким образом);
- Разбить тома размером: здесь укажите в мегабайтах максимальный размер файла. Скажем, для флешки в 16 ГБ, это будет около 14500 МБ (т.е. 14500M), пример ниже.

Настройки создания многотомного архива
После создания архива, вы увидите, что он состоит из множества частей одинакового размера. Теперь, чтобы извлечь его, необходимо извлекать самую первую часть архива (001) — см. скрин ниже.
Вообще, 7-Zip достаточно "умная" программа и сама подсветит своей иконкой тот файл, который нужен .

Какой файл извлекать в многотомном архиве (обратите внимание, что все файлы одного указанного размера)
Кстати, если на том ПК, куда вы будете переносить файл нет архиватора, создайте самораспаковывающийся архив (это при создании укажите SFX-архив, в настройках 7-Zip).
Способ №2: разбивка в Total Commander
Еще один весьма хороший и надежный способ разбить файл — это воспользоваться специальной функцией в программе Total Commander.
Total Commander
Очень функциональный и удобный файловый менеджер (на мой взгляд, гораздо удобнее классического проводника). Позволяет просматривать каталоги без тормозов, в которых тысячи файлов. Также позволяет легко и быстро работать со всеми популярными архивами: ZIP, 7ZIP, ARJ, LZH, RAR, UC2, TAR, GZ, CAB, ACE и т.д.
Есть уникальные возможности: групповое переименование файлов (с настраиваемыми фильтрами и масками), разбивка файла, работа с FTP и пр.
В общем, рекомендую к использованию!
Итак, первым делом запускаем Total Commander и находим наш файл. В моем случае это архив с фото ("photo.7z") — размер этого файла около 1 ГБ. Задача: разбить его на части, каждая из которых не более 250 МБ.
Разобьем один большой файл на 5 частей
Сначала выбираем этот файл, а затем щелкаем по меню "Файлы/Разбить файл. " . См. скрин ниже.

Файл/разбить файл - Total Commander
Далее необходимо указать месторасположение нового созданного файла и части, на которые его разобьет программа.

Указать куда поместить созданный файл, и его размеры
Как и сказал выше, я указал 250 MB (кстати, в программе есть все самые популярные размеры: для Floppy 3.5 дискет, CD/DVD дисков и пр.), и указал ту же папку, в которой лежит оригинальный файл.

После чего, файл был разбит на 5 частей (плюс шестая часть — контрольная сумма файла (необходима для проверки целостности архива, рекомендую также сохранять и не удалять!)).

Готовый разбитый на части файл
Собственно, теперь можно все эти разделенные файлы переносить в любом порядке на другой ПК, а затем, выбрать также в меню Total Commander "Файлы/Собрать файл. " . В общем-то, все достаточно просто и быстро.
Способ №3: разрезать видео на части (без конвертации)
Если дело имеете с видео, то в этом случае совсем не обязательно запаковывать его в архив или прибегать к помощи Total Commander.
Можно воспользоваться каким-нибудь видео-редактором и разбить видео на определенные части (правда, это не очень подойдет в том случае, если вы не хотите разрезать видео насовсем, т.к. склеивание видео — это процедура может быть более долгой. ).
Как это сделать просто и без "нервов"?
Понадобится один видео-редактор - ВидеоМОНТАЖ.
ВидеоМОНТАЖ
Один из самых простых и интуитивно понятный видео-редакторов. Разработчики специально сделали его очень простым с пошаговым мастером для того, чтобы любой пользователь (даже совсем новичок) мог без труда разобраться с монтажом и созданием своего ролика (возможно, самого первого!).
В редакторе есть все самые необходимые функции по обработке видео. Так что, этот вариант один из лучших для решения простых задач, и для того, чтобы научиться обрабатывать видео.
После того, как установите редактор, откройте в нем функцию "Нарезка видео" (такая возможность появляется в первом окне, которое появляется сразу же после запуска программы).
Далее откройте видео в нем и укажите фрагменты, которые вам нужны (если у вас задача разбить файл на 2 части — то просто создайте два фрагмента, примерно поровну разделив видео).

Разрезаем видео на части
Затем, при сохранении видео, ОБЯЗАТЕЛЬНО укажите, что хотите сохранить видео в исходном качестве (см. скрин ниже). Таким образом, видео будет сохранено без конвертации и очень быстро. Фактически, мы просто разделили видео на 2-3-4 (и более) части без его редактирования!

Сохранить видео в исходном качестве
Кстати!
Более подробно об операции вырезания нужных частей из видео рассказано в этой статье.
Ну а у меня на этом пока всё, всем удачи!
Первая публикация: 19.12.2017
Как разделить текстовый файл на части с равным количеством строк?
Доброго времени суток.
Имеется текстовый файл, количество строк в исходном тексте неизвестно, может пятьдесят, а может тысыча.
Нужно разбить его на несколько частей, так, чтобы количество строк в выходных файлах было одинаково (ну ± одна строка). Количество частей задается в самом батнике.
Поскольку я плохо разбираюсь в CMD, навалял такую белиберду на пять частей:
spoiler
:movech for %%I in (list.txt) do if %%~zI==0 (goto exit) @echo off setlocal enabledelayedexpansion set file=list.txt set first=1 set second=1 set out=V_Obrabotku1.txt set counter=0 >"%out%" for /f "usebackq tokens=*" %%A IN ("%file%") DO ( set /a counter=!counter!+1 if !counter! GEQ %first% ( if !counter! LEQ %second% ( echo.%%A>>"%out%" ) ) ) set n=1 set File_Src=list.txt set file_Dest=textfile_out.txt more +%n% < "%File_Src%" >"%file_Dest%" move /y textfile_out.txt list.txt ::V_Obrabotku2 set file=list.txt set first=1 set second=1 set out=V_Obrabotku2.txt set counter=0 >"%out%" for /f "usebackq tokens=*" %%A IN ("%file%") DO ( set /a counter=!counter!+1 if !counter! GEQ %first% ( if !counter! LEQ %second% ( echo.%%A>>"%out%" ) ) ) set n=1 set File_Src=list.txt set file_Dest=textfile_out.txt more +%n% < "%File_Src%" >"%file_Dest%" move /y textfile_out.txt list.txt ::V_Obrabotku3 set file=list.txt set first=1 set second=1 set out=V_Obrabotku3.txt set counter=0 >"%out%" for /f "usebackq tokens=*" %%A IN ("%file%") DO ( set /a counter=!counter!+1 if !counter! GEQ %first% ( if !counter! LEQ %second% ( echo.%%A>>"%out%" ) ) ) set n=1 set File_Src=list.txt set file_Dest=textfile_out.txt more +%n% < "%File_Src%" >"%file_Dest%" move /y textfile_out.txt list.txt ::V_Obrabotku4 set file=list.txt set first=1 set second=1 set out=V_Obrabotku4.txt set counter=0 >"%out%" for /f "usebackq tokens=*" %%A IN ("%file%") DO ( set /a counter=!counter!+1 if !counter! GEQ %first% ( if !counter! LEQ %second% ( echo.%%A>>"%out%" ) ) ) set n=1 set File_Src=list.txt set file_Dest=textfile_out.txt more +%n% < "%File_Src%" >"%file_Dest%" move /y textfile_out.txt list.txt ::V_Obrabotku5 set file=list.txt set first=1 set second=1 set out=V_Obrabotku5.txt set counter=0 >"%out%" for /f "usebackq tokens=*" %%A IN ("%file%") DO ( set /a counter=!counter!+1 if !counter! GEQ %first% ( if !counter! LEQ %second% ( echo.%%A>>"%out%" ) ) ) set n=1 set File_Src=list.txt set file_Dest=textfile_out.txt more +%n% < "%File_Src%" >"%file_Dest%" move /y textfile_out.txt list.txt Goto movech :exit
Скрипт работает, но уж больно громоздкий, да и тысячу строк довольно долго обрабатывает.
Подскажите, пожалуйста, более изящное решение. Заранее спасибо.
- Вопрос задан более трёх лет назад
- 15304 просмотра
4 комментария
Средний 4 комментария






