[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

请求删除此帖,废弃无用了请求删除此帖,废弃无用了

本帖最后由 cl2039996 于 2022-5-8 16:39 编辑

请求删除此帖,废弃无用了请求删除此帖,废弃无用了请求删除此帖,废弃无用了请求删除此帖,废弃无用了

take on
=took on
=takes on
=take sth. on
=taking on
=taken on
同类词组写成一行
take on=takes on=taking on=took on=take sth. on
提供bat代写,为你省时省力省事,支付宝扫码头像支付
微信: unique2random

TOP

bat存为ANSI/GB2312编码
  1. <# :
  2. cls&echo off&cd /d "%~dp0"
  3. powershell -NoProfile -ExecutionPolicy bypass "[IO.File]::ReadAllText(\"%~f0\",[Text.Encoding]::GetEncoding('GB2312'))|Invoke-Expression"
  4. pause
  5. exit
  6. #>
  7. $txtfile=".\词组白名单.txt";
  8. $newfolder="E:\词组归档";
  9. if(-not (test-path -literal $txtfile)){write-host ('"'+$txtfile+'" 未找到');exit;}
  10. $enc=[Text.Encoding]::GetEncoding('GB2312');
  11. $dic=New-Object 'System.Collections.Generic.Dictionary[string, Object]';
  12. $text=[IO.File]::ReadAllLines($txtfile, $enc);
  13. for($i=0;$i -lt $text.length;$i++){
  14.     $key=$text[$i].trimend().ToLower().split('=');
  15.     if(-not $dic.ContainsKey($key[0])){
  16.         [System.Collections.ArrayList]$brr=@();
  17.         $dic.add($key[0], $brr);
  18.     }
  19.     for($j=0;$j -lt $key.length;$j++){
  20.         [void]$dic[$key[0]].add($key[$j]);
  21.     }
  22. }
  23. $folders=@(dir -literal "."|?{$_ -is [System.IO.DirectoryInfo]});
  24. for($i=0;$i -lt $folders.length;$i++){
  25.     write-host $folders[$i].FullName;
  26.     $files=@(dir -literal $folders[$i].FullName|?{('.srt' -eq $_.Extension) -and ($_ -is [System.IO.FileInfo])});
  27.     for($j=0;$j -lt $files.length;$j++){
  28.         write-host $files[$j].Name;
  29.         $oldtext=[IO.File]::ReadAllText($files[$j].FullName, $enc);
  30.         $crr=$oldtext.trim() -split '[\r\n]+';
  31.         if($crr.length -ge 3){
  32.             $m1=[regex]::match($crr[2], '(?i)<font( [^>]+?)?>');
  33.             if($m1.Success){
  34.                 $crr[2]=($crr[2] -replace ' {2,}',' ') -replace '<[^>]+?>','';
  35.             }
  36.             
  37.             foreach($k in $dic.Keys){
  38.                 for($p=0;$p -lt $dic[$k].Count;$p++){
  39.                     $findword=$dic[$k][$p].ToString() -replace '\bbe\b','(am|is|are|were)';
  40.                     $findword=$findword -replace "\b(sb\.|sth\.|one's)(?=\s|$)",'\S+';
  41.                     $findword=$findword -replace '\bdoing\b','\S+ing';
  42.                     $reg='\b'+$findword+'(?=[^a-zA-Z]|$)';
  43.                     $m2=[regex]::match($crr[2], $reg);
  44.                     if($m2.Success){
  45.                         $drr=$crr.Clone();
  46.                         $newword='[b]<font color="#ff0000">'+$m2.groups[0].value+'</font>[\b]';
  47.                         $drr[2]=$crr[2].replace($m2.groups[0].value, $newword);
  48.                         if($m1.Success){
  49.                             $drr[2]=$m1.groups[0].value+$crr[2].replace($m2.groups[0].value, $newword)+'</font>';
  50.                         }
  51.                         $newpath=$newfolder.trimend('\')+'\'+$k;
  52.                         if(-not (test-path -literal $newpath)){[void][IO.Directory]::CreateDirectory($newpath);}
  53.                         $newbasename="[{0}][{1}][{2}]" -f $k,$folders[$i].Name,(get-date).ToString('yyyy-MM-dd HH点mm分ss秒fff毫秒');
  54.                         $newsrt=$newpath+'\'+$newbasename+$files[$j].Extension;
  55.                         $newtext=($drr -join "`r`n")+"`r`n`r`n"+'2'+"`r`n"+$crr[1]+"`r`n"+'{\an9}[b]<font color="#cccccc">'+$folders[$i].Name+'</font>[\b]';
  56.                         [IO.File]::WriteAllText($newsrt, $newtext, $enc);
  57.                         $newmp4=$newpath+'\'+$newbasename+'.mp4';
  58.                         $oldmp4=$folders[$i].FullName+'\'+$files[$j].BaseName+'..mp4';
  59.                         if(test-path -liter $oldmp4){
  60.                             copy-item -literal $oldmp4 $newmp4 -force;
  61.                         }else{
  62.                             $oldmp4=$folders[$i].FullName+'\'+$files[$j].BaseName+'.mp4';
  63.                             if(test-path -liter $oldmp4){
  64.                                 copy-item -literal $oldmp4 $newmp4 -force;
  65.                             }
  66.                         }
  67.                     }
  68.                 }
  69.             }
  70.         }
  71.     }
  72. }
复制代码
提供bat代写,为你省时省力省事,支付宝扫码头像支付
微信: unique2random

TOP

返回列表