找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 15033|回复: 2

bat批量替换运行速度太慢,求大佬优化一下,微信20元

  [复制链接]
发表于 2020-7-29 17:09:54 | 显示全部楼层 |阅读模式
具体报酬:20元人民币
支付方式:微信支付宝。
联系方式:qq:874380156
有效期限:第一个测试成功。
这是我之前的帖子http://www.bathome.net/thread-56246-1-1.html
但处理速度太慢的,每次可能要处理几十万的文本文件,求优化,提高速度,代码如下
  1. <#:
  2. cls
  3. @回声关闭
  4. cd / d“%&#12316;dp0”
  5. powershell -NoProfile -ExecutionPolicy绕过“ Invoke-Command -ScriptBlock([ScriptBlock] :: Create([IO.File] :: ReadAllText('%&#12316;f0',[Text.Encoding] :: Default)))-Args'% &#12316;dp0'“
  6. 暂停
  7. 出口
  8. #>
  9. $ path = $ args [0];

  10. $ list = @ {
  11.     'www.123.com'= @ {'原字符1'='新字符1';'原字符2'='新字符2'};
  12.     'www.456.com'= @ {'原字符1'='新字符1';'原字符2'='新字符2'};
  13.     'www.789.com'= @ {'原字符1'='新字符1';'原字符2'='新字符2'}
  14. };

  15. 函数checkencoding($ t){
  16.     $ tmpenc =新对象System.Text.UTF8Encoding $ False;
  17.     $ m = [regex] :: match($ t,'(?i)<meta。*?charset = [“'']?(gbk | gb2312)');;
  18.     if($ m.Success){$ tmpenc = [Text.Encoding] :: Default;};
  19.     返回$ tmpenc;
  20. };

  21. foreach($ list.keys中的$ k){
  22.     $ folder = $ path + $ k;
  23.     if(test-path -liter $ folder){
  24.         $ files = @(dir -liter $ folder -recurse |?{(@('。html')-包含$ _。Extension)-和($ _ -is [System.IO.FileInfo])}));
  25.         for($ i = 0; $ i -lt $ files.length; $ i ++){
  26.             写主机$ files [$ i] .FullName;
  27.             $ enc =新对象System.Text.UTF8Encoding $ False;
  28.             $ tmptext = [IO.File] :: ReadAllText($ files [$ i] .FullName,$ enc);
  29.             $ enc =检查编码$ tmptext;
  30.             $ oldtext = [IO.File] :: ReadAllText($ files [$ i] .FullName,$ enc);
  31.             foreach($ list [$ k] .keys中的$ j){
  32.                 $ oldtext = $ oldtext.replace($ j,$ list [$ k] [$ j]);
  33.             };
  34.             [IO.File] :: WriteAllText($ files [$ i] .FullName,$ oldtext,$ enc);
  35.         };
  36.     };
  37. }
复制代码
发表于 2020-7-29 20:59:20 | 显示全部楼层
此帖仅作者可见
 楼主| 发表于 2020-7-30 22:31:24 | 显示全部楼层
此帖仅作者可见
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 04:07 , Processed in 0.018913 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表