回复 11# kidzgy
呃,测试文件是utf-8 bom编码的,而且换行符是LF,试试下面的
test.html为输入文件名
output.txt为输出文件名,输出文件编码跟换行符都跟测试文件一样的
代码保存为ansi就行了- #@&cls&pause&powershell "gc -literalpath '%~f0'|out-string|iex"&pause&exit
-
- $inf="test.html"
- $otf="output.txt"
-
- $sstr="Array.prototype.p = Array.prototype.push;"
- $estr="delete(Array.prototype.p);"
-
- $inf=[io.file]::OpenRead($pwd.path+"\$inf")
- $otf=[io.file]::OpenWrite($pwd.path+"\$otf")
-
- $infrd=[System.IO.StreamReader]::new($inf,[text.encoding]::UTF8)
- $otfwd=[System.IO.StreamWriter]::new($otf,[text.encoding]::UTF8)
- $otfwd.NewLine=("`n")
-
- $s='';$bbb=0;
-
- while(!$infrd.EndOfStream){
- $s=$infrd.ReadLine()
- if($s){
- $ss=$s.Trim()
- if(($ss.Length -ge $estr.Length) -and ($ss.SubString(0,$estr.Length) -eq $estr)){break;}
- if($bbb){$otfwd.WriteLine($s);$s='';}
- if(($ss.Length -ge $sstr.Length) -and ($ss.SubString(0,$sstr.Length) -eq $sstr)){$bbb=1;}
- }}
-
- $infrd.Close();$otfwd.Close()
复制代码
|