中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 求个cmd或vbs:提取*.log里带“wap”的……
作者:
标题: 求个cmd或vbs:提取*.log里带“wap”的…… 上一主题 | 下一主题
wkl17
新手上路





积分 13
发帖 8
注册 2008-3-7
状态 离线
『楼 主』:  求个cmd或vbs:提取*.log里带“wap”的……

求个cmd或vbs:提取*.log里带“wap”的行,把不带“wap”的整行给删除掉

自己有网站在朋友的2K3/IIS6 的VPS上。平时我帮他管理的VPS。
自己有个站,带WAP访问功能,但不能用51.la等进行统计,所以只好开启IIS日志。

现在想通过CMD或VBS,配合正则表达式,提取带“wap”的整行内容,保存后再运行bak2eml.bat这个批处理。

有一点需注意:(由于日志可能在被操作,无法直接修改,因此)首先将d:\www\site\w3clog\*.log 复制到d:\temp\下后再操作。

我说的“提取”,其实反过来操作,就是将*.log里不带“wap”的行给删除掉,并删除空行,这样可能会更方便些。。

如果还能再将带“wap”的行数给统计出来(比如总的有1280行,)然后再用smtp@163.com password 这个邮箱自动发一封邮件“今天总共有1280个Wap页面被浏览了”到myeml@163.com

希望懂的朋友帮下忙,谢谢!

2010-12-16 22:16
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Hanyeguxing
银牌会员

正在学习中的菜鸟...


积分 1039
发帖 897
注册 2009-3-1
来自 在地狱中仰望天堂
状态 离线
『第 2 楼』:  


@echo off&setlocal enabledelayedexpansion
::设置输出目录
set m=d:\temp
for /r "d:\www\site\w3clog" %%a (*.log) do (
        findstr "wap" "%%a">"%m%\%%~nxa"
        for /f "delims=:" %%b in ('findstr /n .* "%m%\%%~nxa"') do set a=%%b
        set/a n+=!a!
)
echo 总行数:%n%
pause
[ Last edited by Hanyeguxing on 2010-12-16 at 22:48 ]



批处理之家 http://bbs.bathome.net/forum-5-1.html
2010-12-16 22:46
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
DXSX
中级用户





积分 247
发帖 147
注册 2009-4-9
状态 离线
『第 3 楼』:  

运行  find /? 就知道该怎么做了
find /i "wap" x.log  找出包含 wap 的行
find /i /v "wap" x.log 找出不包含 Wap 的行
find /c "wap" x.log 显示包含 wap 行的行数

2010-12-18 23:04
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: