中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 用批处理批量下载《经典帖子分类索引》中的帖子
作者:
标题: 用批处理批量下载《经典帖子分类索引》中的帖子 上一主题 | 下一主题
zsj008od
初级用户





积分 28
发帖 12
注册 2007-5-8
状态 离线
『楼 主』:  用批处理批量下载《经典帖子分类索引》中的帖子

在for中用多个set的时候遇到点问题,来这里一查才知道是变量延迟的问题,现在明白了。献上一段批量下载《批处理室经典帖子分类索引》中帖子的批处理
@echo off
echo.
echo 需要grep/sed/ConvertZ 8.02/wget等软件配合
echo 请到http://gnuwin32.sourceforge.net/下载上面几个软件并安装
echo.
pause
set Wget_Path=C:\Program Files\GnuWin32\bin
path %Wget_path%;E:\software\小工具\ConvertZ 8.02;%path%
wget "http://www.cn-dos.net/forum/viewthread.php?tid=27667&action=printable" -O index.html
rem utf8编码转gbk
start /wait ConvertZ /i:utf8 /o:gbk /f:s index.html
grep ">可打印版本<" index.html >tmp1.txt
grep -o tid=[0-9][0-9]* tmp1.txt >tmp2.txt
grep -o [0-9][0-9]* tmp2.txt >tmp3.txt
md bat
cd bat
md images
cd images
md default
cd default
wget http://www.cn-dos.net/forum/images/default/logo.gif
cd ..
cd ..
for /f %%f in (..\tmp3.txt) do (
IF NOT EXIST viewthread_%%f.html (
wget "http://www.cn-dos.net/forum/viewthread.php?tid=%%f&action=printable" -O viewthread_%%f.html
start /wait ConvertZ /i:utf8 /o:gbk /f:s viewthread_%%f.html
grep "打印本页" viewthread_%%f.html >tmp1.txt
sed "s/<b>标题: <\/b>//g;s/ <a.*//g" tmp1.txt >tmp2.txt
for /f %%i in (.\tmp2.txt) do rpl "<title>中国DOS联盟论坛 - Powered by Discuz! Board</title>" "<title>%%i</title>" viewthread_%%f.html
)
)
move /Y ..\index.html
然后用工具替换一下index.html中的url地址就行了。

2008-3-20 14:45
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
plp626
银牌会员

钻石会员


积分 2278
发帖 1020
注册 2007-11-19
状态 离线
『第 2 楼』:  

这个rpl好像是外部工具, 楼主提供的地址没有rpl的下载,
另外可否详细介绍下rpl这工具用法?

  Quote:
RPL(Remote Initial Program Load:远程启动服务)是一种较早出现的无盘网络组建技术,这种启动方式的典型代表是早期以Windows NT Server 4.0为服务器操作系统组建而成的Windows 95无盘网络。

[ Last edited by plp626 on 2008-3-20 at 05:15 PM ]



山外有山,人外有人;低调做人,努力做事。

进入网盘(各种工具)~~ 空间~~cmd学习
2008-3-20 16:59
查看资料  发短消息 网志   编辑帖子  回复  引用回复
zsj008od
初级用户





积分 28
发帖 12
注册 2007-5-8
状态 离线
『第 3 楼』:  

rpl:replace strings in multiple files  多个文件中替换字符串
http://gnuwin32.sourceforge.net/packages/rpl.htm
grep:print lines matching a pattern 用正则表达式搜索字符串
http://gnuwin32.sourceforge.net/packages/grep.htm
sed:stream editor  文件编辑
http://gnuwin32.sourceforge.net/packages/sed.htm
wget:retrieve files from the WWW  dos下下载网络文件
http://gnuwin32.sourceforge.net/packages/wget.htm
ConvertZ:编码转换
http://www.crsky.com/soft/720.html

2008-3-21 20:27
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zsj008od
初级用户





积分 28
发帖 12
注册 2007-5-8
状态 离线
『第 4 楼』:  

rpl/wget/sed/grep下载
http://upload.cn-dos.net/img/126.rar

ConvertZ去http://www.crsky.com/soft/720.html 下载哈

2008-3-21 20:30
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
vkill
金牌会员





积分 4103
发帖 1744
注册 2006-1-20
来自 甘肃.临泽
状态 离线
『第 5 楼』:  

既然用了sed 为什么还要用 grep 和 rpl ,呵呵~不过还是佩服楼主,精通那么多工具的用法

我喜欢用 wget+sed+ConCmd

[ Last edited by vkill on 2008-3-22 at 04:12 PM ]

2008-3-22 16:07
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: