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
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