[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
回复 1# kokoxx

可借用第3方工具gawk( http://bcn.bathome.net/tool/4.1.0/gawk.exe )来实现:
  1. @echo off&cd /d "%~dp0"
  2. rem 注意gawk参数:-v"Spaces=4"表示每行给4个前置空格,-v"BlankLines=1"表示每行间空1行
  3. for /f "delims=" %%i in ('dir /b/s/a-d *.txt') do (
  4. 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"
  5. move /y "%%~dpni.bak" "%%~i"
  6. )
复制代码

TOP

返回列表