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

批量合并CSV跳过前2行的批处理脚本运行中途停止问题

问题原因

脚本中使用的more +2命令存在内置硬限制:Windows自带的more.com是从MS-DOS时代沿用的分页显示工具,单次调用的最大输出行数为65534行,超出该行数后命令会无提示自动终止输出。
你的单个CSV文件就包含253612行数据,远超过这个上限,因此脚本在处理第一个CSV文件到65534行时就直接中断,既没有读完第一个文件的剩余内容,也不会处理后续11个CSV文件,最终只生成了6MB的不完整输出文件。

解决方法

以下两种方案都不存在行数限制,可以正常完成全量CSV合并需求,按需选择即可:

  • 纯批处理无依赖方案
    用for /f循环自带的skip参数实现跳过前2行的逻辑,完全规避more命令的行数限制,适配所有Windows版本:
    @echo off
    :: 清空已存在的旧输出文件
    type nul > output.csv
    for %%f in (*.csv) do (
        :: skip=2指定跳过前2行,delims、eol参数配置保证不拆分行内容、不忽略特殊字符开头的行
        for /f "usebackq skip=2 delims= eol=" %%line in ("%%f") do (
            echo %%line>>output.csv
        )
    )
    echo Done.
    
    注意:如果CSV内容包含!字符,运行该脚本前不要开启延迟变量扩展,避免内容被转义丢失。
  • PowerShell内置命令方案(大文件处理速度更快)
    该方案不需要通过批处理变量逐行解析内容,处理大文件的速度远高于纯批处理,也不存在特殊字符转义问题,适配Win7及以上系统:
    @echo off
    :: 如果你的CSV是GBK编码,把下面参数里的UTF8替换为Default即可
    powershell -Command "$outFile='output.csv'; Get-ChildItem -Filter *.csv | ForEach-Object { Get-Content $_.FullName | Select-Object -Skip 2 | Add-Content $outFile -Encoding UTF8 }"
    echo Done.
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 10:30:55