Навигатор сайта : Разделы Информационные технологии Делим текстовый файл на части

Делим текстовый файл на части

Периодически на моём компьютере мне приходится решать довольно тривиальную задачу деления большого текстового файла на части. Но, учитывая тот факт, что иногда между периодами проходит в среднем до полугода, а также одну интересную особенность утилит для деления текстовых файлов - их названия не запоминаются!, искать установленную полгода назад утилиту приходится долго и безуспешно.
 
В очередной раз, намаявшись в поисках решения извечной проблемы деления файла, я, с использованием глобальной мировой паутины, сел и написал небольшой скрипт, осуществляющий вышеупомянутое действие.

Итак, для этого создадим блокнотом или любой другой аналогичной программой файл, который назовем, к примеру divide.bat и добавим туда следующие строки:

@Echo Off
SetLocal enabledelayedexpansion
Set list=%1%
:: Число строк в файле на выходе
Set str=%2

Set Num=%str%& Set File=0
For /F "tokens=* usebackq delims=" %%i In (%list%) Do (
    Set /a Num+=1
    If !Num! GEQ %str% (
        Set Num=0
        Set /a File+=1
        Set nFile=0!File!
        Set nFile=!nFile:~-2!
        Echo %%i>!nFile!.%list%
    ) Else Echo %%i>>!nFile!.%list%
)
Pause
Exit

Далее положим этот файл в папку с файлом, который нам нужно разбить на части и запустим его, например в FAR-е или Total Commander-е. При этом формат вызова будет примерно следующий:
 
divide.bat "имя файла.txt" 10000

 

где 10000 - это количество строк, которое будет содержаться в каждой разбиваемой части, включая предпоследнюю (в последней будет то - что останется).
 
 
Как Вы уже заметили, имя файла может содержать пробелы. Главное, не забывайте заключать его в кавычки по примеру, указанному выше.
 
Удачного Вам дня и успехов в постижении ОС Windows!

Добавить комментарий


Защитный код
Обновить

Картинки для mIRC  Критика и обсуждение Рекламы    Счетчик определения тИЦ и PR Яндекс.Метрика

для детей старше 12 лет