下面是一个使用AutoHotkey编写的脚本,可以实现你的需求:

#NoEnv
SendMode Input

; 设置快捷键 Ctrl+Alt+T 打开脚本
^!t::
{
    ; 设置文件路径
    filePath := "D:\桌面\123\subtitles.txt"
    
    ; 读取文件内容
    FileRead, fileContent, %filePath%
    
    ; 分割文件内容为行数组
    lines := StrSplit(fileContent, "`n")
    
    ; 初始化变量
    firstLine := ""
    secondLine := ""
    
    ; 遍历行数组
    for index, line in lines
    {
        ; 判断当前行是否包含时间码
        if RegExMatch(line, "(\d{2}:\d{2}:\d{2},\d{3})")
        {
            ; 如果第一行为空,则将当前行赋值给第一行变量
            if firstLine = ""
            {
                firstLine := line
            }
            
            ; 如果第一行不为空,且第二行为空,则将当前行赋值给第二行变量
            else if secondLine = ""
            {
                secondLine := line
                break
            }
        }
    }
    
    ; 显示第一行和第二行的内容
    MsgBox 第一行:%firstLine%`n第二行:%secondLine%
    
    ; 提取第一行的结束时间
    endTime := RegExReplace(firstLine, ".*(\d{2}:\d{2}:\d{2},\d{3})$", "$1")
    
    ; 提取第二行的开始时间
    startTime := RegExReplace(secondLine, "^(\d{2}:\d{2}:\d{2},\d{3}).*", "$1")
    
    ; 显示第一行的结束时间和第二行的开始时间
    MsgBox 第一行的结束时间:%endTime%`n第二行的开始时间:%startTime%
}
return

使用方法:

  1. 将上述代码复制到一个空白的文本文件中,并将文件后缀改为.ahk,例如script.ahk。
  2. 双击运行该脚本,或者通过AutoHotkey运行该脚本。
  3. 按下快捷键Ctrl+Alt+T,脚本将会打开指定路径下的subtitles.txt文件,找出带有时间码的第一行和第二行,并显示出来。
  4. 脚本还会将第一行的结束时间作为第二行的开始时间,并显示出来
用autohotkey编写一个脚本。打开D桌面123subtitlestxt文件找出里面带有时间码的第一行和带有时间码的第二行并显示出来然后把找出来这两行第一行的结束时间作为第二行的开始时间。

原文地址: https://www.cveoy.top/t/topic/hyjT 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录