|
|
发表于 2026-7-13 14:03:26
|
显示全部楼层
本帖最后由 aloha20200628 于 2026-7-14 11:29 编辑
再改用以下的 bat+findstr 代码复刻 powershell 的算法,与4楼,12楼代码三者实测运行耗时比,结果约为
bat+powershell : bat+jscript : bat+findstr = 10:1:3
但用批处逐行处理文本文件,会有每行字符量小于 8kb 的限制。
test.bat
- @echo off &setlocal &findstr /n .* "office.reg.txt">#.$
- (for /f "tokens=1* delims=:" %%a in (#.$) do (
- set "s=%%b" &setlocal enabledelayedexpansion &set/a "n=%%a+1"
- set "g=" &set "_s=!s:*]=!" &set "s_=!s:*"=!"
- if "!s!" neq "!_s!" if "!s!"=="!s_!" (
- set "g=1" &for /f "tokens=1* delims=:" %%x in ('findstr /b "!n!:" #.$') do if "%%y" neq "" echo,!s!)
- if not defined g echo,!s!
- endlocal ))>"office.reg.new.txt"
- del /q #.$ &pause &exit/b
复制代码 |
评分
-
查看全部评分
|