[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
处理大文件还是效率有问题
  1. @echo off&setlocal enabledelayedexpansion
  2. for %%i in (abc 123 456) do set _%%i=i
  3. for /f "tokens=2 delims=:" %%i in ('findstr /n .* "1.txt"') do (
  4.    set "str="
  5.    for %%a in (%%i) do if defined str (set str=!str! %%a)else set str=%%a
  6.        if defined str (
  7.           for %%a in ("!str:~,3!") do if not defined _%%~a echo !str!&set k=
  8.         ) else if not defined k echo;&set "k=k"
  9.     )
  10. pause
复制代码

TOP

我上面应该是保留一行的啊

TOP

对于 忽略以abc或123或456开头的行 是直接删除呢 还是不处理连续空格但不删除呢
  1. @echo off&setlocal enabledelayedexpansion
  2. for %%i in (abc 123 456) do set _%%i=i
  3. for /f "tokens=1* delims=:" %%i in ('findstr /n .* "1.txt"') do (
  4.    set str=
  5.    for %%a in (%%j) do if defined str (set str=!str! %%a) else set str=%%a
  6.        if defined str (
  7.           for %%a in ("!str:~,3!") do if not defined _%%~a (echo !str!)else echo %%j
  8.           set "k="
  9.         ) else if not defined k echo;&set "k=k"
  10.     )
  11. pause
复制代码

[ 本帖最后由 terse 于 2009-9-24 14:14 编辑 ]
2

评分人数

    • 随风:PB + 5
    • wxcute: 思路和你差不多,不过没你的代码好。PB + 5

TOP

返回列表