Batch File | Como Dividir um Arquivo Texto em Múltiplos Arquivos Texto Menores

Batch File | Como Dividir um Arquivo Texto em Múltiplos Arquivos Texto Menores

Suponha que precise dividir um arquivo texto enorme em arquivos texto menores

Como poderia fazer isso através de um Arquivo Batch no Windows?

@ECHO OFF
SETLOCAL
SET "sourcedir=C:\Sourcedir"
SET /a fcount=100
SET /a llimit=5000
SET /a lcount=%llimit%
FOR /f "usebackqdelims=" %%a IN ("%sourcedir%\q25249516.txt") DO (
 CALL :select
 FOR /f "tokens=1*delims==" %%b IN ('set dfile') DO IF /i "%%b"=="dfile" >>"%%c" ECHO(%%a
)
GOTO :EOF
:select
SET /a lcount+=1
IF %lcount% lss %llimit% GOTO :EOF
SET /a lcount=0
SET /a fcount+=1
SET "dfile=%sourcedir%\file%fcount:~-2%.txt"
GOTO :EOF

Um comentário:

  1. Excelente solução. Eu testei e funciona muito bem. Só é bem lento, mas acredito que seja porque eu testei num arquivo de 10MM de linhas dividido em 500k por lote rs*

    ResponderExcluir

diHITT - Notícias