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

【出题-001】批处理提取qq群聊天记录中指定qq号码、日期、时间段

提取qq群聊天记录中指定qq号码、日期、时间段
聊天记录事先手动导出到a.txt 效果如下,需考虑昵称含特殊字符的情况
2009-03-16 16:21:51 BAT-chezhh(61770)
呵fdgsdgsgsg

2009-03-16 17:21:25 bat-coen(5768535)
[图片]都给我转义成这了[/抓狂][/折磨]

2009-03-16 17:21:26 /9(bat)- df(765574)
不谢,都是初学者

2009-03-16 17:21:33 bat-(cope) nen(57535)
[/擦汗]不对

2009-03-16 17:21:34 bat-copegen(37535)
继续

2009-03-16 17:21:51 BAT-chezhh(61770)
呵呵。。

2009-03-16 17:22:00 BAT-chezhh(61770)
我也想的是用^

2009-03-16 17:22:01 BAT-chezhh(61770)
我也想的是用^

以qq号 61770 的为例,提取3月16日 17:00 以后的聊天记录,提取效果如下
2009-03-16 17:21:51 BAT-chezhh(61770)
呵呵。。

2009-03-16 17:22:00 BAT-chezhh(61770)
我也想的是用^

2009-03-16 17:22:01 BAT-chezhh(61770)
我也想的是用^

[ 本帖最后由 随风 于 2009-4-23 20:56 编辑 ]
技术问题请到论坛发帖求助!

  1. @echo off
  2. for /f "delims=" %%a in (s.txt) do (
  3. echo %%a|findstr /b "2009\-[0-9][0-9-]\-[0-9][0-9]" >nul&&set out=0
  4. echo %%a|findstr /e "BAT-chezhh(61770)" >nul&&set out=1
  5. set /a 1/out 2>nul&&echo %%a
  6. )
  7. pause
复制代码
1

评分人数

    • nanhui: findstr,长见识^_^PB + 3

TOP

  1. @echo off & rem 为了防止特殊符号(! ^ &等)的影响不能用变量延迟而且最后的变量只能是%%a等形式输出
  2. for /f "tokens=1* delims=:" %%i in (' findstr /n "03-16.*17:.*:.*(61770)" a.txt ') do ( set /a number=%%i+1 & call :output )
  3. exit
  4. :output
  5. for /f "tokens=1* delims=:" %%a in (' findstr /n ".*" a.txt ') do ( if %%a == %number% (echo %%j & echo %%b & echo. ) )
复制代码

TOP

  1. @echo off & rem 为了防止特殊符号(! ^ &等)的影响不能用变量延迟而且最后的变量只能是%%a等形式输出
  2. set "sign="
  3. for /f "tokens=1* delims=:" %%i in (' findstr /n ".*" a.txt ') do (
  4.     echo.%%j|findstr "03-16.*17:.*:.*(61770)">nul && set sign=True
  5.     if defined sign ( if "%%j"=="" ( echo. & set "sign=" ) else ( echo %%j ))
  6. )
  7. pause
复制代码

TOP

返回列表