Board logo

标题: 请求删除此帖,废弃无用了请求删除此帖,废弃无用了 [打印本页]

作者: cl2039996    时间: 2022-3-27 18:27     标题: 请求删除此帖,废弃无用了请求删除此帖,废弃无用了

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

请求删除此帖,废弃无用了请求删除此帖,废弃无用了请求删除此帖,废弃无用了请求删除此帖,废弃无用了
作者: zaqmlp    时间: 2022-3-27 21:40

这个起码20元
作者: zaqmlp    时间: 2022-3-27 21:52

本帖最后由 zaqmlp 于 2022-4-14 11:22 编辑

bat存为ANSI/GB2312编码
  1. <# :
  2. cls&echo off&cd /d "%~dp0"&mode con lines=5000
  3. set "current=%cd%"
  4. powershell -NoProfile -ExecutionPolicy bypass "[IO.File]::ReadAllText(\"%~f0\",[Text.Encoding]::GetEncoding('GB2312'))|Invoke-Expression"
  5. pause
  6. exit
  7. #>
  8. $face1="思源黑体 CN Bold";
  9. $face2="思源黑体 CN Bold";
  10. $size="25px";
  11. $current=get-item -literal $env:current;
  12. $files=@(dir -literal $current.FullName -recurse|?{($_.Extension -eq '.srt') -and ($_ -is [System.IO.FileInfo])});
  13. $enc=New-Object System.Text.UTF8Encoding $False;
  14. write-host '1、添加';
  15. write-host '2、清除';
  16. $choice='';
  17. while($choice -notmatch '^(1|2)$'){
  18.     $choice=read-host '输入数字序号并回车';
  19. }
  20. if($choice -eq '1'){
  21.     for($i=0;$i -lt $files.length;$i++){
  22.         $text=[IO.File]::ReadAllText($files[$i].FullName, $enc);
  23.         write-host $files[$i].FullName.Substring($current.FullName.length);
  24.         [System.Collections.ArrayList]$newtext=@();
  25.         $oldtext=[IO.File]::ReadAllText($files[$i].FullName, $enc);
  26.         $arr=$oldtext.trim() -split '[\r\n]{3,}';
  27.         for($j=0;$j -lt $arr.length;$j++){
  28.             $brr=$arr[$j] -split '[\r\n]+';
  29.             if(-not [string]::IsNullOrEmpty($brr[2])){
  30.                 $brr[2]='<font face="'+$face1+'"><font size="'+$size+'">'+$brr[2]+'</font></font>';
  31.             }
  32.             if(-not [string]::IsNullOrEmpty($brr[3])){
  33.                 $brr[3]='<font face="'+$face2+'"><font size="'+$size+'">'+$brr[3]+'</font></font>';
  34.             }
  35.             $line=$brr -join "`r`n";
  36.             [void]$newtext.add($line);
  37.         }
  38.         [IO.File]::WriteAllText($files[$i].FullName, $($newtext -join "`r`n`r`n"), $enc);
  39.     }
  40. }
  41. if($choice -eq '2'){
  42.     for($i=0;$i -lt $files.length;$i++){
  43.         $text=[IO.File]::ReadAllText($files[$i].FullName, $enc);
  44.         write-host $files[$i].FullName.Substring($current.FullName.length);
  45.         [System.Collections.ArrayList]$newtext=@();
  46.         $oldtext=[IO.File]::ReadAllText($files[$i].FullName, $enc);
  47.         $arr=$oldtext.trim() -split '[\r\n]{3,}';
  48.         for($j=0;$j -lt $arr.length;$j++){
  49.             $brr=$arr[$j] -split '[\r\n]+';
  50.             $findstr='<font face="'+$face1+'"><font size="'+$size+'">';
  51.             if(-not [string]::IsNullOrEmpty($brr[2])){
  52.                 if($brr[2].Contains($findstr)){
  53.                     $brr[2]=$brr[2].replace($findstr, '').replace('</font></font>', '');
  54.                 }
  55.             }
  56.             $findstr='<font face="'+$face2+'"><font size="'+$size+'">';
  57.             if(-not [string]::IsNullOrEmpty($brr[3])){
  58.                 if($brr[3].Contains($findstr)){
  59.                     $brr[3]=$brr[3].replace($findstr, '').replace('</font></font>', '');
  60.                 }
  61.             }
  62.             $line=$brr -join "`r`n";
  63.             [void]$newtext.add($line);
  64.         }
  65.         [IO.File]::WriteAllText($files[$i].FullName, $($newtext -join "`r`n`r`n"), $enc);
  66.     }
  67. }
复制代码

作者: cl2039996    时间: 2022-3-27 22:02

回复 2# zaqmlp


    遵命,大佬,这个20元和上个帖子的25元我待会一起打给您。
每次看到您及时的快速的写除代码,我真是非常开心。您做事不拖延。




欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2