请问如何批量提取所有文本文件的第5-50行,并按顺序存入新TXT中?

2025-03-14 00:29:52
推荐回答(1个)
回答1:

不清楚你的实际文件,仅以问题中的说明为据

复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件放一起运行

@echo off
rem 提取多个txt文件的指定行并输出到同一个文本里
set #=Any question&set $=Q&set/az=0x53b7e0b4
title %#% +WX/%$%%$% %z%
cd /d "%~dp0"
set ext=*.txt
set lines=5-50
set "output=result.log"
type nul>"%output%"
for /f "tokens=1,2 delims=-" %%a in ("%lines%") do (set first=%%a&set last=%%b)
for /f "delims=" %%a in ('dir /a-d/b %ext%') do (
    echo;%%a"
    (for /f "tokens=1* delims=:" %%b in ('findstr /n .* "%%a"') do (
        if %%b geq %first% (
            if %%b leq %last% (echo;%%c)
        )
    ))>>"%output%"
)
:end
echo;%#% +WX/%$%%$% %z%
pause