You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过cmd从多个.txt文件中提取指定行?

从指定文件夹多个TXT文件提取第n行的CMD实现方案

完全可以通过Windows CMD原生命令实现,无需安装额外第三方工具,具体操作如下:

核心原理

通过for命令遍历目标路径下所有.txt文件,再结合more命令跳过前n-1行定位到目标行,最后提取内容输出即可。


临时使用:直接在CMD窗口执行

如果仅单次使用,直接在CMD窗口执行以下命令即可,执行前先替换三个参数:

  • 把D:\你的目标文件夹路径改成你存放txt文件的文件夹路径
  • 把5改成你要提取的实际行号(行号从1开始计数)
  • 把提取结果.txt改成你要保存结果的文件名
setlocal enabledelayedexpansion
for %i in (D:\你的目标文件夹路径\*.txt) do (more +5 "%i" | set /p content= && echo %~ni.txt: !content! >> 提取结果.txt)

执行完成后打开结果文件就能看到所有txt对应行的内容。


频繁使用:保存为批处理脚本

如果需要经常使用该功能,可以把以下代码复制到记事本,保存为提取指定行.bat,使用前修改开头的三个配置参数即可双击运行:

@echo off
setlocal enabledelayedexpansion
:: ======================配置区开始======================
set "目标文件夹=D:\test\我的txt文件"
set "要提取的行号=3"
set "结果保存路径=.\提取结果.txt"
:: ======================配置区结束======================

:: 切换UTF-8编码避免乱码,不需要可以删除下一行
chcp 65001 >nul

if exist "%结果保存路径%" del "%结果保存路径%"

for %%f in ("%目标文件夹%\*.txt") do (
    for /f "delims=" %%l in ('more +%要提取的行号% "%%f" ^| findstr /n "^" ^| findstr /b "1:"') do (
        set "line_content=%%l"
        set "line_content=!line_content:*:=!"
        echo 【%%~nxf】!line_content! >> "%结果保存路径%"
    )
)

echo 提取完成,结果已保存到:%结果保存路径%
pause

注意事项

  • 若目标行是空行,脚本会自动跳过该文件的提取结果
  • 如果你的txt文件是GBK编码,删除配置区下方的chcp 65001 >nul行即可避免乱码
  • 行号从1开始计数,比如要提取第10行就把参数填10即可

内容的提问来源于stack exchange,提问作者Noflowzone

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 15:24:00