|
|
发表于 2026-9-16 07:50:12
|
显示全部楼层
- @echo off
- @REM 设置lrc文件
- set "lrcs=%~dp0*.lrc"
- @REM 设置输出目录
- set "outdir=%~dp0result"
- md "%outdir%" 2>nul
- echo 输出目录:"%outdir%"
- powershell -ExecutionPolicy Bypass -NoProfile -C "$enc=[Text.Encoding]::Default;$reTimeline='^\[(\d{2}):(\d{2})\.(\d{2})\]';gci ($env:lrcs -replace '[\[\]`]', '`$&')|foreach{$lines=[IO.File]::ReadAllLines($_.FullName,$enc);$prevCs=$null;[int]$mod=0;for($i=$lines.Count-1;$i -ge 0;$i--){if($lines[$i] -match $reTimeline){$min=[int]$Matches[1];$sec=[int]$Matches[2];$cs=[int]$Matches[3];$curCs=($min*60+$sec)*100+$cs;if($prevCs -eq $curCs){$curCs=[Math]::Max($prevCs+(--$diff),0);$q=[Math]::DivRem($curCs,100,[ref]$mod);$cs=$mod;$q=[Math]::DivRem($q,60,[ref]$mod);$sec=$mod;$min=$q;$newTimeline='[{0:d2}:{1:d2}.{2:d2}]' -f $min,$sec,$cs;$lines[$i]=$lines[$i] -replace $reTimeline,$newTimeline;}else{$prevCs=$curCs;$diff=0;} } } [IO.File]::WriteAllLines([IO.Path]::Combine($env:outdir,$_.Name),$lines,$enc);}"
- pause
复制代码 |
评分
-
查看全部评分
|