Public/Repair/Repair-SubtitleNumbering.ps1
|
function Repair-SubtitleNumbering { <# .SYNOPSIS Renumbers SRT sequence numbers sequentially from 1 without touching timestamps or text. .PARAMETER InputObject A SubtitleFile object. .EXAMPLE Import-SubtitleFile 'broken.srt' | Repair-SubtitleNumbering #> [CmdletBinding()] [OutputType('SubtitleFile')] param( [Parameter(Mandatory, ValueFromPipeline)] [SubtitleFile] $InputObject ) process { $i = 1 foreach ($entry in $InputObject.Entries) { $entry.Index = $i if ($entry -is [SrtEntry]) { $entry.BlockNumber = $i } $i++ } return $InputObject } } |