不知行否
保存为ansi编码的bat- #?&cls&pause&powershell -c "type -literalpath '%~f0'|out-string|iex"&pause&exit
-
- #空白行数目,0是任意个,n是n个以上
- $x=0
-
- #空格数,0是任意个,n是n个以上
- $y=0
-
- #空白行或空格"n个以上"的最大值,设为0时"n个以上"仅有n个
- $lmt=0
-
- #空白行替换后的行数
- $z=1
-
- #替换后的空格数
- $z2=0
-
- #需要处理的文件名或路径,批量处理时改成获取文件(名)的命令
- $f="aaa.txt"
-
- #文件编码
- $cd="utf8"
-
- #仅匹配空行
- if($lmt -lt $x){$m=$x}else{$m=$lmt}
- if($x -eq 0){$r="\r?\n(\r?\n)+"}else{$r="\r?\n(\r?\n){$x,$m}"}
- if($lmt -lt $y){$m=$y}else{$m=$lmt}
- if($y -eq 0){$r+=" *"}else{$r=$r+" {$y,$m}"}
- $p="`r`n"+"`r`n"*($z-1)+" "*$z2
-
- $f|%{
- $file=[io.fileinfo]$_
- $filepath=$file.DirectoryName+"\_new_"+$file.name
- [regex]::replace([io.file]::ReadAllText($file,$cd),$r,$p)|sc -LiteralPath ($filepath) -Encoding ($cd)
- [console]::writeline("已保存到: "+$filepath)
- }
复制代码
|