星尘 当前离线
列兵
<#: cls @回声关闭 cd / d“%〜dp0” powershell -NoProfile -ExecutionPolicy绕过“ Invoke-Command -ScriptBlock([ScriptBlock] :: Create([IO.File] :: ReadAllText('%〜f0',[Text.Encoding] :: Default)))-Args'% 〜dp0'“ 暂停 出口 #> $ path = $ args [0]; $ list = @ { 'www.123.com'= @ {'原字符1'='新字符1';'原字符2'='新字符2'}; 'www.456.com'= @ {'原字符1'='新字符1';'原字符2'='新字符2'}; 'www.789.com'= @ {'原字符1'='新字符1';'原字符2'='新字符2'} }; 函数checkencoding($ t){ $ tmpenc =新对象System.Text.UTF8Encoding $ False; $ m = [regex] :: match($ t,'(?i)<meta。*?charset = [“'']?(gbk | gb2312)');; if($ m.Success){$ tmpenc = [Text.Encoding] :: Default;}; 返回$ tmpenc; }; foreach($ list.keys中的$ k){ $ folder = $ path + $ k; if(test-path -liter $ folder){ $ files = @(dir -liter $ folder -recurse |?{(@('。html')-包含$ _。Extension)-和($ _ -is [System.IO.FileInfo])})); for($ i = 0; $ i -lt $ files.length; $ i ++){ 写主机$ files [$ i] .FullName; $ enc =新对象System.Text.UTF8Encoding $ False; $ tmptext = [IO.File] :: ReadAllText($ files [$ i] .FullName,$ enc); $ enc =检查编码$ tmptext; $ oldtext = [IO.File] :: ReadAllText($ files [$ i] .FullName,$ enc); foreach($ list [$ k] .keys中的$ j){ $ oldtext = $ oldtext.replace($ j,$ list [$ k] [$ j]); }; [IO.File] :: WriteAllText($ files [$ i] .FullName,$ oldtext,$ enc); }; }; }复制代码
TOP
ivor 当前离线
上校