标题: 请求删除此帖,废弃无用了请求删除此帖,废弃无用了 [打印本页]
作者: cl2039996 时间: 2022-4-14 12:21 标题: 请求删除此帖,废弃无用了请求删除此帖,废弃无用了
本帖最后由 cl2039996 于 2022-5-8 16:30 编辑
请求删除此帖,废弃无用了请求删除此帖,废弃无用了请求删除此帖,废弃无用了请求删除此帖,废弃无用了
作者: zaqmlp 时间: 2022-4-14 14:23
本帖最后由 zaqmlp 于 2022-4-14 18:06 编辑
- <# :
- cls&echo off&cd /d "%~dp0"&mode con lines=5000
- set "current=%cd%"
- powershell -NoProfile -ExecutionPolicy bypass "[IO.File]::ReadAllText(\"%~f0\",[Text.Encoding]::GetEncoding('GB2312'))|Invoke-Expression"
- pause
- exit
- #>
- $facelist=@("HarmonyOS Sans SC Bold|12","HarmonyOS Sans SC|15");
-
- $current=get-item -literal $env:current;
- $files=@(dir -literal $current.FullName -recurse|?{($_.Extension -eq '.srt') -and ($_ -is [System.IO.FileInfo])});
-
- $enc=New-Object System.Text.UTF8Encoding $False;
-
- write-host '1、添加';
- write-host '2、清除';
- $choice='';
- while($choice -notmatch '^(1|2)$'){
- $choice=read-host '输入数字序号并回车';
- }
-
- for($i=0;$i -lt $files.length;$i++){
- $text=[IO.File]::ReadAllText($files[$i].FullName, $enc);
- write-host $files[$i].FullName.Substring($current.FullName.length);
- [System.Collections.ArrayList]$s=@();$newtext='';
- $oldtext=[IO.File]::ReadAllText($files[$i].FullName, $enc);
- $arr=$oldtext.trim() -split '[\r\n]{3,}';
- for($j=0;$j -lt $arr.length;$j++){
- $brr=$arr[$j] -split '[\r\n]+';
- for($k=2;$k -le 3;$k++){
- if(-not [string]::IsNullOrEmpty($brr[$k])){
- $m=[regex]::matches($brr[$k], '<font (face|size)=[^>]*?>', 'IgnoreCase');
- if($m.count -ge 1){
- $brr[$k]=$brr[$k] -replace '<font (face|size)=[^>]*?>','';
- foreach($it in $m){
- $brr[$k]=([regex]'(?i)</font>\s*$').replace($brr[$k],'', 1);
- }
- }
- $brr[$k]=$brr[$k] -replace '\{\\fn.+?\\fs\d+?\}',''
- if($choice -eq '1'){
- $crr=$facelist[$k-2].split('|');
- $brr[$k]='{\fn'+$crr[0]+'\fs'+$crr[1]+'}'+$brr[$k];
- }
- }
- }
- $line=$brr -join "`r`n";
- [void]$s.add($line);
- }
- $newtext=$s -join "`r`n`r`n"
- [IO.File]::WriteAllText($files[$i].FullName, $newtext, $enc);
- }
复制代码
作者: cl2039996 时间: 2022-4-14 17:34
回复 2# zaqmlp
您受累看下,我刚吐血写完的需求。请在之前的代码做一些变更。
作者: zaqmlp 时间: 2022-4-14 17:58
回复 3# cl2039996
$facelist=@("HarmonyOS Sans SC Bold|30","HarmonyOS Sans SC Regular|25");
作者: cl2039996 时间: 2022-4-14 19:30
本帖最后由 cl2039996 于 2022-4-14 19:49 编辑
回复 4# zaqmlp
z大佬,请让bat实现先清除后添加的功能
目前的代码依旧是要我手动选择清除或选择添加
求您再改一下
作者: zaqmlp 时间: 2022-4-14 19:51
回复 5# cl2039996
添加就是删除后再添加的,你不测试的吗,自己不断修改$facelist参数看看
作者: cl2039996 时间: 2022-4-14 20:11
回复 6# zaqmlp
果然果然!完美了!您想的比我周全多了!
我给您转款!
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |