回复 1# kokoxx
可借用第3方工具gawk( http://bcn.bathome.net/tool/4.1.0/gawk.exe )来实现:- @echo off&cd /d "%~dp0"
- rem 注意gawk参数:-v"Spaces=4"表示每行给4个前置空格,-v"BlankLines=1"表示每行间空1行
- for /f "delims=" %%i in ('dir /b/s/a-d *.txt') do (
- gawk -v"Spaces=4" -v"BlankLines=1" "BEGIN{if(Spaces<0)Spaces=0;for(i=1;i<=Spaces;i++){S=S OFS};L=ORS;if(BlankLines<0)BlankLines=0;L=ORS;for(i=1;i<=BlankLines;i++){ORS=ORS L}}{sub(/^[ \t]+/,\"\");sub(/[ \t]+$/,\"\");if($0)print S $0}" "%%~i">"%%~dpni.bak"
- move /y "%%~dpni.bak" "%%~i"
- )
复制代码
|