- @if(0)==(0) echo off
- dir /b *.srt | findstr /i /v /e "\-副本.srt" | cscript //nologo //e:jscript "%~f0"
- pause & exit
- @end
-
- var fso = new ActiveXObject('Scripting.FileSystemObject');
-
- while (!WSH.StdIn.AtEndOfStream){
- var srcFile = WSH.StdIn.ReadLine();
- var objFile = fso.OpenTextFile(srcFile, 1);
-
- var out = [];
- var i = 0;
- var eTime = '00:00:00,000';
-
- while (!objFile.AtEndOfStream){
- var s = objFile.ReadLine();
- var m = s.match(/^(\d\d:\d\d:\d\d,\d\d\d) --> (\d\d:\d\d:\d\d,\d\d\d)$/);
- if (!m) continue;
- var t1 = getTotalMillisecond(eTime, 150);
- var t2 = getTotalMillisecond(m[1], -500);
- if ( t2 - t1 > 1000 ) {
- var s1 = formatTime(t1);
- var s2 = formatTime(t2);
- out.push( ++i + '\r\n' + s1 + ' --> ' + s2);
- }
- eTime = m[2];
- }
-
- var dstFile = srcFile.replace(/\.srt$/i, '-副本$&');
- fso.OpenTextFile(dstFile, 2, true).WriteLine( out.join('\r\n\r\n') );
- }
-
- function getTotalMillisecond(t, x){
- var arr = t.split(/[:,]/);
- return ( 3600 * arr[0] + 60 * arr[1] + 1 * arr[2] ) * 1000 + 1 * arr[3] + x;
- }
-
- function formatTime(t){
- var ms = 10 * ( t % 1000 / 10 ).toFixed() + 1000;
- t = Math.floor( t / 1000 );
- var HH = Math.floor( t / 3600 ) + 100;
- var mm = Math.floor( t % 3600 / 60 ) + 100;
- var ss = t % 60 + 100;
- HH = ( '' + HH ).substr(1);
- mm = ( '' + mm ).substr(1);
- ss = ( '' + ss ).substr(1);
- ms = ( '' + ms ).substr(1);
- return HH + ':' + mm + ':' + ss + ',' + ms;
- }
复制代码
|