更多相关内容...>>BBS批处理初探
BBS批处理初探
发信人: myidname (傻爷博士), 信区: BBShelp
xYLt81 http://blog.numino.net/
标 题: BBS批处理初探
Td1LD6 http://blog.numino.net/
发信站: 吉林大学牡丹园站 (2006年04月15日20:18:19 星期六), 站内信件
ZuA4id http://blog.numino.net/
BBS批处理初探
wO8hK2 http://blog.numino.net/
主讲:myidname
Z4f9Nz http://blog.numino.net/
  如果您具备Telnet上站的基础知识,使用“批处理”功能可以帮助您完成一系
TFaS7i http://blog.numino.net/
列有规律的操作,从而达到简化BBS各种常用操作的效果,2003年第一届BBS学院中
2V16c5 http://blog.numino.net/
本人应邀讲授批处理一课。在今年BBS学院中再次应校长邀请担任此课任教工作。
EhHGJA http://blog.numino.net/
能够跟大家一起探讨BBS中批处理功能,本人不胜荣幸。批处理功能博大精深,在
daNWqr http://blog.numino.net/
这里希望能跟各位站友初探一二。上次讲座中本人以Sterm为例,因此本次主要以
6OxgWT http://blog.numino.net/
Cterm为例讲授。下面开始介绍主要内容。
zUf86h http://blog.numino.net/
CTerm 全称为Clever Terminal。它不仅可以作为普通 Telnet 客户软件用于
t1loN2 http://blog.numino.net/
Telnet 站点的登录,更是针对国内BBS的特点设计的一个专用上站软件。
p23pvY http://blog.numino.net/
关于CTerm的版本,V3.xx是2004年以后发行的版本。功能与2000年发布的 CTerm
mjChSx http://blog.numino.net/
2000 有很大变化。CTerm 是免费软件(Freeware),但并非源代码开放软件(
fqhAf8 http://blog.numino.net/
Open Source)。其作者开发主页为http://www.52hutu.com/cterm
r3p70V http://blog.numino.net/
CTerm在运行过程中对用户和BBS服务器之间的信息进行了分析,知道用户在BBS 上
8hxhdD http://blog.numino.net/
的当前状态(主选单/讨论区列表/用户列表/文章列表/编辑状态),从而提供相应的
20Ld11 http://blog.numino.net/
服务。这也是为我们批处理提供的运行环境的基础支持。
9b4REv http://blog.numino.net/
简介一下CTerm的特点:
Ph1Q5H http://blog.numino.net/
·聪明:根据用户在 BBS 上的状态而提供相应的服务
txBJY8 http://blog.numino.net/
·操作灵巧:支持鼠标操作,丰富的快捷键(左手Alt系列,F1-F8系列)
h9dAWl http://blog.numino.net/
·文章下载:全文下载,讨论区文章批量下载,精华区下载
Ayq0bV http://blog.numino.net/
·优秀的 ANSI 支持:ANSI彩色复制、彩色粘贴、TCP包拷贝
2TFh6p http://blog.numino.net/
·杰出的 URL 识别:中文 URL、折行 URL、BBS命令识别为 URL
UqpDXs http://blog.numino.net/
·编辑方便:一键式发表、回复、写完发表,简洁的文章编辑器
lXPtQr http://blog.numino.net/
·多样的界面:提供多个配色方案,亦可完全自定义颜色
30siC0 http://blog.numino.net/
·灵活的扩展功能:可自定义命令和按钮,支持VBS和Python脚本
7eH3Zq http://blog.numino.net/
在CTerm中,用户设定好发送的字符串、执行次数和自定义变量之后,点击“确定
MCX6x7 http://blog.numino.net/
”按钮,即可执行批处理工作。
AB4Ezx http://blog.numino.net/
  CTerm V3.20 支持Python 脚本和VBS脚本,可以自定义命令。cterm.ckt 已经
p0utWG http://blog.numino.net/
包含了大量可用的自定义命令示例,只要略作修改就可以适合自己需要。
y425O4 http://blog.numino.net/
CTerm批处理文件所定义的命令会显示在“自定义快捷键”的命令列表中的“
avAYGK http://blog.numino.net/
Custom”列中。程序中首列为“#”字符的,为注释语句。
W0HMHh http://blog.numino.net/
每个自定义命令包含6个字段:ID,Key,Label,bButton, data, Comment。字段
59MhWd http://blog.numino.net/
分隔符为 ; 号,即使某字段为空,也应加一 ; 号。
ogsnP5 http://blog.numino.net/
下面分别介绍六个字段:
U41oMc http://blog.numino.net/
1.ID: 命令编号,
ipIOlv http://blog.numino.net/
它是命令的唯一标识。编号与在文件出现的顺序无关。从1开始,最多允许200个
f8ODGM http://blog.numino.net/
自定义命令,所以最大值为200
6iigb4 http://blog.numino.net/
2.Key:快捷键定义字段(若为空,则bButton应为true,否则该行无效):
gHozyL http://blog.numino.net/
只能为用+号连起来的3个关键字:ctrl, alt, shift及虚键名,后者参见cterm文
7cp3sB http://blog.numino.net/
件夹里面的keyname.txt
QvQm20 http://blog.numino.net/
不能有其它非空白字符,顺序无关紧要(当然,按照习惯建议把虚键名放在最后
Lh3dtb http://blog.numino.net/
), 不区分大小写
1N6H8K http://blog.numino.net/
3.Label:命令标识
R65ZeO http://blog.numino.net/
显示在按钮的标签上。(若有快捷键,则会显示在定制快捷键的列表中)
75fa8Q http://blog.numino.net/
4.bButton:显示为按钮
59mCh5 http://blog.numino.net/
若为true,在“自定义按钮”工具栏条上增加一个按钮。最多可以添加30个,只
ZyFhTH http://blog.numino.net/
前30个bButton为true的行有效
mFWW27 http://blog.numino.net/
5.Data:命令的数据字段
FCFiBl http://blog.numino.net/
数据字段不能为空, 否则该行无效。允许数据串出现分隔符 ; , 用 \; 分为三
q4d5TA http://blog.numino.net/
种类型:
ySI6dH http://blog.numino.net/
1: " 号开头,直接发送数据(translated)。
Mqn4QC http://blog.numino.net/
可以含有转义序列与控制码(具体见doc\esccode.txt)
iKpMaA http://blog.numino.net/
2: py: 开头,执行python代码(translated)
KhKSZJ http://blog.numino.net/
由于代码写在一行上,换行用\\n(一定不能加\r或\\r)表示,代码中的字
e2K3s6 http://blog.numino.net/
符串中的换行用\\\\n (!!!)
f9VfHF http://blog.numino.net/
其它特殊字符均需转义(代码中的引号请一律用\",不能用单引号)非常的
CZL8pD http://blog.numino.net/
麻烦,要经过无穷多次的转义,解决办法: 复杂些的代码就写在tools.py里,此处
BQIooF http://blog.numino.net/
只写函数名
zu7mZ9 http://blog.numino.net/
3: pyf: 开头,执行python脚本。后面直接跟文件名,不用转义符。如果你使
kJQDJA http://blog.numino.net/
用第2种和第3种类型,请注意在系统选项中启用“Python支持”才行。
OcZnTO http://blog.numino.net/
6.Comment: 注释语句
oMZ2Gm http://blog.numino.net/
注释以 ; 或 # 分隔
53v2De http://blog.numino.net/
下面举例说明
R1E2O4 http://blog.numino.net/
#ID key label bButton data tip comment
uLAst0 http://blog.numino.net/
11; ctrl+alt+M; 主选单; true;"^[[D^[[D^[[D^[[D^[[D^[[D^[[D^[[D^[[D^[[DF";
7CTA4N http://blog.numino.net/
跳到主选单
e5Iy93 http://blog.numino.net/
12; ctrl+alt+F; 收藏夹; true;"^[[D^[[D^[[D^[[D^[[D^[[D^[[D^[[D^[[D^[[DF\n";
sQ6V3b http://blog.numino.net/
跳到收藏夹
QqFCfD http://blog.numino.net/
13; ctrl+alt+N; 新邮件; true;"^[[D^[[D^[[D^[[D^[[D^[[D^[[D^[[D^[[D^[[DM\n\n";
6H18N2 http://blog.numino.net/
查看新邮件
f4GcJO http://blog.numino.net/
14; ctrl+alt+D; 好友; true;"^[[D^[[D^[[D^[[D^[[D^[[D^[[D^[[D^[[D^[[DT\nF\n"
4Uqf99 http://blog.numino.net/
; 查看上线的好友
pWNhil http://blog.numino.net/
类似的还可以实现“转贴此文到其它讨论区”“查看作者属性、版面属性”“寄回
FSvmL3 http://blog.numino.net/
到自己信箱保存”“查看收到的消息”等等功能,大家可以自己开发一下试试。关
1jgHwK http://blog.numino.net/
于sterm的各种批处理操作,请参见2003年bbs批处理讲座(见附件)
Kwu9dR http://blog.numino.net/
再次强调一下,批处理操作有利有弊,给自己带来便利的同时,如果使用过火也影
6RZdtC http://blog.numino.net/
响bbs的运行。对此,站规明文限制灌水机和上站机,请大家小心使用。
DmYQOq http://blog.numino.net/
好,今天的课就到这里,下面是选作作业:使用任何一种term工具实现“一键登陆
JiRiTR http://blog.numino.net/
自己id”功能。
5YTSPf http://blog.numino.net/
【附录】
4m5y4L http://blog.numino.net/
发信人: myidname (傻爷博士), 信区: BBShelp
WmOTVb http://blog.numino.net/
标 题: 批处理实务-应用
PCIo42 http://blog.numino.net/
发信站: 牡丹园新站 (2003年05月27日21:33:06 星期二), 站内信件
h4xZhj http://blog.numino.net/
批处理实务-应用
Qcm9o5 http://blog.numino.net/
应hub的要求,把这一课补上。本来应该早就讲过了,由于本人5月24号前处在隔离
T9PuW7 http://blog.numino.net/
状态中。一直未能完成。所以延迟到今天。请大家原谅。
2lrRl7 http://blog.numino.net/
谈到bbs的批处理,人人听之变色:深恶痛绝者有之,好奇一试者有之,一头雾水
8o86KI http://blog.numino.net/
者有之。大家对批处理的认识是千姿百态,各有千秋把。我本人曾经因为批处理搞
qHj648 http://blog.numino.net/
过一些东西,被站务警告过,那个时候牡丹园新站刚刚建立,我想通过批处理这种
VUbwN2 http://blog.numino.net/
方式报告一下bug。开个善意的玩笑未尝不是好事嘛~~呵呵。后来为此自杀了一
3reCTp http://blog.numino.net/
个马甲。同时有一批bbser也知道了我的事情,总是要求我帮助他们。我诚惶诚恐
c7U0IC http://blog.numino.net/
。不敢应承,自以为批处理乃是雕虫小技,难登大雅之堂。同时也有悖于站方的规
ZRA4zq http://blog.numino.net/
定,恐多行不义,小命呜乎哀哉~ 此次开课乃应hub兄多时要求,我把我的部分经
TY3ehx http://blog.numino.net/
验于大家共享。抛砖引玉而已……
1iBqYN http://blog.numino.net/
批处理的原理如同原来的dos命令的*.bat文件是一样的。没学过dos的不要着急,
ypgKte http://blog.numino.net/
其实很简单,就是把你一批命令一次完成而已。目的就是给bbs的使用者带来方便
EGl6fv http://blog.numino.net/
。可以说,各种登陆bbs的终端软件一般都带有批处理功能。当你熟悉批处理的操
j3NegB http://blog.numino.net/
作以后,我想你会爱不释手的。
G1ZX04 http://blog.numino.net/
我最常用的就是sterm,而且我个人认为sterm的批处理功能强于cterm。所以本文
S2iuSc http://blog.numino.net/
以sterm举例来说。图中的sterm版本是2.240,有十个用户自定义键,这给我们批处
MkbNrA http://blog.numino.net/
理带来方便.比如你想批处理发表文章,可以点击key setup图标,(如果没有这个工
1qFA7C http://blog.numino.net/
具栏,可以点击"视图"->"栏"->"用户自定义按键")在弹出对话框中的输出中输入
HRmC8j http://blog.numino.net/
^P题目^M^M正文.测试.谢谢^W^M
cCABDj http://blog.numino.net/
然后在标签中给这个发表文章的批处理起个名字即可,比如叫"发文".
FP028n http://blog.numino.net/
然后点击确认就行了.使用的时候可以在sterm下,版面模式下,点击你刚才定义的那
Zy7LBW http://blog.numino.net/
个"发文",ok了,你的批处理好使了,是不是看见了你新发表的文章了哪?赶快删掉吧
x98fYp http://blog.numino.net/
.要不别人会误会你的阿.
xGuPnE http://blog.numino.net/
删除文章也可以用批处理.dy^M 就可以了.
jJFlqz http://blog.numino.net/
看到这里大家应该明白,^M就是表示回车的意思.^表示的是ctrl这个键.(在sterm中
O4Au9W http://blog.numino.net/
)具体的定义在sterm的帮助中都有,我拷贝过来吧.
v0E9vy http://blog.numino.net/
sterm用户自定义键:
fu2sQ2 http://blog.numino.net/
回车 ^M
TLKsu1 http://blog.numino.net/
方向键向左 ^[[D
CC7q0v http://blog.numino.net/
方向键向右 ^[[C
iosuGZ http://blog.numino.net/
方向键向上 ^[[A
H3nvEx http://blog.numino.net/
方向键向下 ^[[B
13fer1 http://blog.numino.net/
发表文章 ^P
5jUy5Q http://blog.numino.net/
如默认的Exit键设置为^[[D^[[D^[[D^[[D^[[D^[[D^M^M^M,表示先按向6个向左的
50J4Bi http://blog.numino.net/
方向键,再按3次回车.
F0B9sf http://blog.numino.net/
有了这些积木,大家可以搭建自己的批处理了,不要用于非法的用途阿~~小心站长姐
4Bo828 http://blog.numino.net/
姐打你pp阿~~
zp7dhI http://blog.numino.net/
cterm的道理跟sterm差不多,大家看看帮助就能搞定的.我就不罗嗦了.墨迹了半天
J2FFD8 http://blog.numino.net/
,不知道大家明白没有.呵呵.
avzd0X http://blog.numino.net/
举两个例子吧,供斑竹使用:
SHbX48 http://blog.numino.net/
斑竹制作合集: b1^M7^My^M^M^M=
YSHchT http://blog.numino.net/
斑竹b掉同主题帖子:b1^M1^My^M^M
1m4796 http://blog.numino.net/
--
7dNtpq http://blog.numino.net/
5510
X1VIkz http://blog.numino.net/
5510!
55lTzt http://blog.numino.net/
※ 修改:·myidname 於 05月27日21:40:19 修改本文·[FROM: 10.80.168.*]
cO3Vzv http://blog.numino.net/
※ 来源:·牡丹园新站 bbs.jlu.edu.cn·[FROM: 10.80.168.202]
O8SUS3 http://blog.numino.net/
--
evcL6C http://blog.numino.net/
※ 修改:·myidname 於 04月15日20:27:12 修改本文·[FROM: 59.72.92.*]
6qXqm0 http://blog.numino.net/
※ 修改:·myidname 於 04月15日20:28:22 修改本文·[FROM: 59.72.92.*]
rZAZtF http://blog.numino.net/
※ 修改:·myidname 於 04月15日20:28:51 修改本文·[FROM: 59.72.92.*]
7iNyV9 http://blog.numino.net/
※ 来源:·吉林大学牡丹园站 bbs.jlu.edu.cn·[FROM: 202.198.175.*]
fpV1AS http://blog.numino.net/
更多相关内容...>>BBS批处理初探

Bug报告 |  免责声明 |  联系我们 |  加入收藏

Copyright © 2006 NuminoStudio(www.numino.net) All Rights Reserved