本帖最后由 pcl_test 于 2016-8-5 20:14 编辑
批处理如何把文本文件中指定的内容显示出来
我有一个日志文件,内容如下 console.log-
-
- 2009-11-02 19:29:32 215800688 INFO ********************************* BGN TCP OnAccept *************************************
- 2009-11-02 19:29:32 215800797 INFO END TCP OnAccept
- 2009-11-02 19:29:32 215800797 INFO BGN TCP OnReceive
- 2009-11-02 19:29:32 215800922 INFO 收到TCP命令101--,06386966,we(i1:0, i2:0, i3:0)
- 2009-11-02 19:29:32 215800922 INFO END TCP OnReceive 1
- 2009-11-02 19:30:59 215887594 INFO GLW结帐, CloseUserV5, 授权码:97439737102884589732, UserID:74347905
- 2009-11-02 19:30:59 215887594 INFO GLW结帐失败, 用户不存在, CloseUserV5, UserID:74347905
- 2009-11-02 19:30:59 215887657 INFO 过滤王 OpenUserV5 授权码:97439737102884589732, UserID:74347905(0010074347905 有效 8 位), 实名卡卡号:0010074347905, 密码:110, 实名卡类型:1(1), 实名类型:1, 证件类型:11, 证件编号:530428198907010353, 姓名:刀海平
- 2009-11-02 19:30:59 215887578 INFO 用户74347905是会员用户,需要显示会员照片!
- 2009-11-02 19:30:59 215887578 INFO 会员用户用户74347905,本地照片不存在,则向服务请求照片!
- 2009-11-02 19:30:59 215887578 INFO BGN CConsoleApp::AddToWaitGetCAPhoto
- 2009-11-02 19:30:59 215887578 INFO END CConsoleApp::AddToWaitGetCAPhoto
- 2009-11-02 19:30:59 215887719 ERROR 获取会员照片结果:40146
- 2009-11-02 19:31:01 215889766 INFO ********************************* BGN TCP OnAccept *************************************
- 2009-11-02 19:31:01 215889875 INFO END TCP OnAccept
- 2009-11-02 19:31:01 215889875 INFO BGN TCP OnReceive
- 2009-11-02 19:31:01 215890063 INFO 收到TCP命令101--,74347905,普通会员(i1:0, i2:0, i3:0)
- 2009-11-02 19:31:01 215890063 INFO END TCP OnReceive 1
- 2009-11-02 19:31:02 215890782 INFO GLW开户成功, OpenUserV5, UserID:74347905
- 2009-11-02 19:31:06 215894907 INFO ********************************* BGN TCP OnAccept *************************************
- 2009-11-02 19:31:06 215895000 INFO END TCP OnAccept
- 2009-11-02 19:31:06 215895000 INFO BGN TCP OnReceive
- 2009-11-02 19:31:06 215895188 INFO 收到TCP命令101--,61937552,we(i1:0, i2:0, i3:0)
- 2009-11-02 19:31:06 215895188 INFO END TCP OnReceive 1
- 2009-11-02 19:31:59 215948094 INFO ********************************* BGN TCP OnAccept *************************************
- 2009-11-02 19:31:59 215948203 INFO END TCP OnAccept
- 2009-11-02 19:31:59 215948203 INFO BGN TCP OnReceive
- 2009-11-02 19:31:59 215948391 INFO 收到TCP命令101--100,05867571,普通会员(i1:0, i2:0, i3:0)
- 2009-11-02 19:31:59 215948407 INFO END TCP OnReceive 1
- 2009-11-02 19:32:14 215962719 INFO ********************************* BGN TCP OnAccept *************************************
- 2009-11-02 19:32:14 215962828 INFO END TCP OnAccept
- 2009-11-02 19:32:14 215962828 INFO BGN TCP OnReceive
- 2009-11-02 19:32:14 215962985 INFO 收到TCP命令101--005,74347905,普通会员(i1:0, i2:0, i3:0)
- 2009-11-02 19:32:14 215962985 INFO END TCP OnReceive 1
- 2009-11-02 19:33:08 216017157 INFO ********************************* BGN TCP OnAccept *************************************
- 2009-11-02 19:33:08 216017250 INFO END TCP OnAccept
- 2009-11-02 19:33:08 216017250 INFO BGN TCP OnReceive
- 2009-11-02 19:33:08 216017407 INFO 收到TCP命令101--045,82069547,普通会员(i1:0, i2:0, i3:0)
- 2009-11-02 19:33:08 216017407 INFO END TCP OnReceive 1
- 2009-11-02 19:33:43 216052516 INFO GLW结帐, CloseUserV5, 授权码:97439737102884589732, UserID:532401198208113817
- 2009-11-02 19:33:44 216052532 INFO GLW结帐失败, 用户不存在, CloseUserV5, UserID:532401198208113817
- 2009-11-02 19:33:44 216052594 INFO 过滤王 OpenUserV5 授权码:97439737102884589732, UserID:532401198208113817(532401198208113817 有效 18 位), 实名卡卡号:532526198208113817, 密码:666666, 实名卡类型:1(1), 实名类型:1, 证件类型:11, 证件编号:532401198208113817, 姓名:张磊
- 2009-11-02 19:33:44 216052563 INFO 用户532526198208113817是会员用户,需要显示会员照片!
- 2009-11-02 19:33:44 216052563 INFO 会员用户用户532401198208113817,本地照片不存在,则向服务请求照片!
- 2009-11-02 19:33:44 216052563 INFO BGN CConsoleApp::AddToWaitGetCAPhoto
- 2009-11-02 19:33:44 216052563 INFO END CConsoleApp::AddToWaitGetCAPhoto
- 2009-11-02 19:33:44 216053078 ERROR 获取会员照片结果:40146
- 2009-11-02 19:33:47 216055922 INFO GLW开户取消, OpenUserV5, UserID:532401198208113817
- 2009-11-02 19:34:00 216069438 INFO ********************************* BGN TCP OnAccept *************************************
- 2009-11-02 19:34:01 216069547 INFO END TCP OnAccept
- 2009-11-02 19:34:01 216069547 INFO BGN TCP OnReceive
- 2009-11-02 19:34:01 216069672 INFO 收到TCP命令101--046,82054755,普通会员(i1:0, i2:0, i3:0)
- 2009-11-02 19:34:01 216069688 INFO END TCP OnReceive 1
复制代码 内容不止上面的这些行,有很多行,这里简化一下,这是一个日志文件里面有对应的密码,每次打开用CTRL + F 来查找有点烦,于是想做个批处理
我的目的是查找密码,有二个可选条件,一个是用户输入身份证号(例如:532401198208113817);另一个是用户输入实名卡卡号(例如:00459512) 事实上只是一个条件:UserID,只不过是UserID有二个值,一个是13位的数字(简化输入只需要输入后8位就可以),一个是18位的身份证号码.
用其中一个条件来查找对应的密码,并将其显示出来。
比如说这两行:- 2009-11-02 11:35:13 187341703 INFO 过滤王 OpenUserV5 授权码:97439737102884589732, UserID:00459512(0140000459512 有效 8 位), 实名卡卡号:0140000459512, 密码:456, 实名卡类型:1(1), 实名类型:1, 证件类型:11, 证件编号:532401198404170314, 姓名:刀成飞
复制代码 当输入: 00459512 时,显示密码 456- 2009-11-02 19:33:44 216052594 INFO 过滤王 OpenUserV5 授权码:97439737102884589732, UserID:532401198208113817(532401198208113817 有效 18 位), 实名卡卡号:0140000459512, 密码:666666, 实名卡类型:1(1), 实名类型:1, 证件类型:11, 证件编号:532401198208113817, 姓名:张磊
复制代码 当输入: 532401198208113817 时,显示密码 666666
现在我把完整的代码贴出来给有相同需要的人,- @echo off&color 17&@title %~n0
- setlocal enabledelayedexpansion
- ::注:本工具仅适用于Pubwin收费软件
- echo.
- echo ID卡及身份证上网密码查询工具
- echo.
- echo.
- echo 注意:请核对身份证信息正确后继续查询,请勿用于非法用途,否则后果自负!
- echo ------------------------------------------------------------------
- echo.
- echo.
- echo 操作流程:
- echo ------------------------------------------------------------------
- echo 1、刷ID卡或身份证并核对身份信息
- echo 2、输入8位ID卡号或身份证号码查询密码
- echo ------------------------------------------------------------------
- echo.
- echo.
- echo 第一步:请刷ID卡或身份证并核对身份信息, 身份证信息是否核对正确?
- echo.
- echo.
- SET /P ST= 核对正确请输入 Y (继续查询) 否则请输入 N (退出查询):
- echo.
- echo.
- if /I "%ST%"=="Y" goto ST
- if /I "%ST%"=="N" goto EX
- goto EX
- :ST
- echo 第二步:请输入8位ID卡号或身份证号码并按回车即可查询到密码
- echo.
- echo.
- SET /P USERID= 请输入8位ID卡号或身份证号码:
- echo.
- echo.
- echo.
- echo 查询成功,请记录您的密码......
- echo ------------------------------------------------------------------
- echo.
- ::注意下面的日志文件路径
- set "i=H:\CMD\Console.log"
- for /f "tokens=10 delims=:," %%i in ('findstr /i "%USERID%" "%i%"^|findstr /i "密码:"') do (
- echo 您的ID卡号或身份证号是: %USERID% 您的密码是: %%i
- )
- echo.
- echo ------------------------------------------------------------------
- echo.
- echo.
- echo 请保管好您的密码,下次不要再来烦我,我很忙的,知道吗?
- echo.
- echo.
- echo 操作结束,本窗口将于30秒后自动关闭!
- echo.
- ping -n 30 127.1>nul
- goto EX
复制代码
|