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

Windows批处理脚本按时间顺序合并日志并删除原日志求助

Windows批处理合并日志文件解决方案

以下是满足需求的批处理脚本,可按指定时间顺序合并日志内容为单行,并删除原文件:

@echo off
setlocal enabledelayedexpansion

:: 初始化目标文件(清空已有内容或创建新文件)
echo. > All_Logs.log

:: 按时间顺序遍历指定日志文件
for %%f in (
    Log_20220805_1200-2340.log
    Log_20220805_2340-0230.log
    Log_20220806_0230-0725.log
) do (
    :: 读取当前日志文件的内容(假设每个文件仅一行内容)
    for /f "delims=" %%c in (%%f) do (
        set "line_content=%%c"
        :: 将内容追加到目标文件,不自动添加换行符
        <nul set /p "=!line_content!" >> All_Logs.log
    )
)

:: 删除所有原日志文件
del Log_*.log

echo 日志合并完成,原文件已删除
endlocal

关键说明:

  • 顺序保证:通过显式列出日志文件名,确保严格按照需求的时间顺序合并
  • 单行合并:使用<nul set /p命令输出内容,避免自动添加换行符,实现所有内容拼接为一行
  • 环境隔离:setlocal enabledelayedexpansion确保循环内变量正常读取和修改,避免变量延迟问题
  • 文件初始化:echo. > All_Logs.log先清空目标文件,防止旧内容干扰

使用注意:

  • 若日志文件包含多行内容,脚本会将所有行的内容连续拼接为一行
  • 如果文件名或内容包含特殊字符(如&、|等),需在文件名或变量引用处添加引号适配

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 21:18:18