[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
  1. @if(0)==(0) echo off
  2. dir /b *zh-cn.srt | cscript //nologo //e:jscript "%~f0"
  3. pause & goto :EOF
  4. @end
  5. var fso = new ActiveXObject('Scripting.FileSystemObject');
  6. var reg = /^(\d\d:\d\d:\d\d,\d+)[^\r\n]+(\r?\n[^\r\n]+)/gm;
  7. while(!WSH.StdIn.AtEndOfStream) {
  8.     var map = [];
  9.     var cnFile = WSH.StdIn.ReadLine();
  10.     var enFile = cnFile.replace(/zh-cn\.srt$/i, 'en.srt');
  11.     if(!fso.FileExists(enFile)) continue;
  12.     var cnStr = getText(cnFile);
  13.     var enStr = getText(enFile);
  14.     while(arr=reg.exec(enStr)) map[arr[1]] = arr[2];
  15.     var s = cnStr.replace(
  16.         /^(\d\d:\d\d:\d\d,\d+)[^\r\n]+\r?\n[^\r\n]+/gm,
  17.         function(s0, s1) { return s0  + map[s1]; }
  18.     )
  19.     var file = cnFile.replace(/zh-cn\.srt$/i, 'chs-en.srt');
  20.     writeToFile(s, file);
  21.     //fso.DeleteFile(cnFile);
  22.     //fso.DeleteFile(enFile);
  23. }
  24. function getText(file) {
  25.     with(new ActiveXObject('ADODB.Stream')){
  26.         Mode = 3; Type = 2;
  27.         Charset = 'utf-8';
  28.         Open();
  29.         LoadFromFile(file);
  30.         var s = ReadText(-1);
  31.     }
  32.     return s;
  33. }
  34. function writeToFile(s, file) {
  35.     with(new ActiveXObject('ADODB.Stream')){
  36.         Mode = 3; Type = 2;
  37.         Charset = 'utf-8';
  38.         Open();
  39.         WriteText(s);
  40.         SaveToFile(file, 2);
  41.     }
  42. }
复制代码
1

评分人数

    • badboy2: 完美解决我问题技术 + 1

TOP

回复 16# badboy2


    dir 命令有一个参数 /s,你自己加上。

TOP

返回列表