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

批量为SRT字幕文件添加指定开头字幕的技术求助

批量为SRT字幕文件开头添加自定义标题字幕的解决方案

需求说明

需要为文件夹内的所有SRT字幕文件开头添加固定格式的字幕块,其中字幕内容替换为对应文件的文件名(不含后缀),格式如下:

0
00:00:00,001 --> 00:00:02,100
"Filename"

有效批处理脚本

无需转换文件格式,直接处理SRT文件,通过临时文件过渡避免覆盖原内容:

@echo off
setlocal enabledelayedexpansion

for %%f in (*.srt) do (
    set "filename=%%~nf"
    
    :: 写入自定义开头字幕到临时文件
    echo 0 > "%%f.tmp"
    echo 00:00:00,001 --> 00:00:02,100 >> "%%f.tmp"
    echo "!filename!" >> "%%f.tmp"
    echo. >> "%%f.tmp"
    
    :: 追加原SRT内容
    type "%%f" >> "%%f.tmp"
    
    :: 替换原文件
    move /y "%%f.tmp" "%%f"
)

echo 所有SRT文件处理完成!
pause

脚本说明

  • @echo off:关闭命令回显,简化输出内容
  • setlocal enabledelayedexpansion:启用延迟变量扩展,确保for循环中能正确读取动态生成的文件名变量
  • %%~nf:提取当前遍历文件的文件名(不含后缀)
  • 临时文件%%f.tmp:先写入自定义字幕块,再追加原文件内容,最后覆盖原文件,避免直接操作原文件导致的内容覆盖问题
  • echo.:添加空行,符合SRT字幕块之间用空行分隔的格式规范

针对你之前问题的说明

  • COPY命令问题:使用copy合并文件时,会自动在文件末尾添加十六进制的1A(EOF字符),导致SRT文件格式损坏,且无法直接插入动态的文件名变量
  • ECHO/TYPE直接操作原文件:>会直接覆盖原文件内容,>>是追加到文件末尾,无法实现"添加到开头"的需求,必须通过临时文件中转

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 05:06:25