下面的批处理文件是一种可能比其他类似方法运行得更快的不同方法,但这在很大程度上取决于文件的大小:
@echo off
for /F "tokens=1-2*" %%a in ('findstr /N "^" test.txt') do (
for /F "tokens=1,2 delims=:/" %%d in ("%%a") do (
if "%%e" equ "C3" (
echo %%c
) else if "%%e" neq "" (
echo ; %%e %%b %%c
) else (
echo/
)
)
)
但是,最快的方法是通过Batch-JScript混合脚本.使用.bat扩展名保存下面的文件:
@set @Batch=1 /*
@cscript //nologo //E:JScript "%~F0" < test.txt
@goto :EOF & rem */
WScript.Stdout.Write(WScript.Stdin.ReadAll().replace
(/^C3\/.{15}|^(..)/gm,function(A){return A.length==2?"; "+A:""}));