Я хотел бы обрезать текстовый файл, хранящий около 240000 строк. Я хочу обрезать его каждые 1000 строк и сохранить как новый текстовый файл и назвать его по порядку.
@echo off
setlocal enableDelayedExpansion
set "src=result3.txt"
:: Redirect input to the source file
call :main "%src%" <"%src%"
exit /b
:main
::Get number of lines in file
for /f %%N in ('type "%src%"^|find /c /v ""') do set cnt=%%N
::Get first line to use as header for each file
set "header="
set /p "header="
set /a fileNum=1, lineNum=0
:loop
:: Exit if done
if !lineNum! geq !cnt! exit /b
:: establish zero padded numeric suffix
set "suffix=000!fileNum!"
set "suffix=!suffix:~-4!"
>"%~n1_!suffix!%~x1" (
echo(!header1!
for /l %%N in (1 1 1000) do if !lineNum! lss !cnt! (
set /a lineNum+=1
set "ln="
set /p "ln="
echo(!ln!
)
)
set /a fileNum+=1
goto :loop
Но выходят странные, и зачастую пустые файлы,
например:
4
3
3