for /f "tokens=2 delims=()" %%i in (message.txt) do findstr "2008-0-" 3120.txt ^| find "%%i" || echo %%i >>result.txt
上面代码的目的就是在QQ好友中寻找08年1至9月没有联系的好友的QQ。
其中message.txt里面的文件格式如下 :
消息对象:冰雪*~无情(229244313)
消息对象:♀恋依/珍(282162453)
3120.txt里面的内容就是我从QQ消息管理器里面导出QQ聊天记录文体.
我有如下的一些疑问,还望高手可以帮我解释一下,谢了.
1、程序中delims=()表示在文件中用()分隔,是不是所有含有“()”的行只能用"()"进行分隔,其中takens=1即为括号外面的内容,tokens=2就是括号里面的内容。例如上例中就是括号的QQ号?
2、这段代码: findstr "2008-0-" 3120.txt ^| find "%%i"是不是就是在指定日期的聊天记录里查寻相关的QQ号码(即%%i变量)有没有聊天记录。但是我在DOS里试了一下,findstr "2008-0-" 3120.txt 只能生成这样的文件格式: 2008-9-15 18:25:58 QQ名字
里面并没有QQ号,所以即使有聊天记录,上面的代码也是无法查到的吧?但为何程序可以实现其功能呢?望解释一下,谢了。
———————————————————————
转移自 DOS疑难解答 & 问题讨论 (解答室)
明显发错版块,予以扣分处理。
——管理员
———————————————————————
───────────────── 版务记录 ─────────────────
执行:HAT
操作:在帖子标题中增加搜索关键字;代码加code标签
说明:原标题"for的问题,请高手帮我解释一下下面的这段代码?"不利于论坛搜索
处罚:扣除2点积分
提示:建议阅读以下帖子
{1415}提问的智慧
{7326}论坛新手必读,所有人的基本行为准则
{22703}请不要做浮躁的人
{32667}那些连标题都写不清楚的人们啊,你们醒醒吧
{32825}本版严厉整顿烂帖
───────────────── 版务记录 ─────────────────
Last edited by HAT on 2009-1-8 at 11:22 ]