多线程批量下载机器人(HDLD)V1.0版说明
一、开发思路
    考虑到当前很多文件都采用了分卷压缩,比如winrar压缩出来的文件,命名可能是 
    demo.ra0,demo.ra1..,demora100等,或者批量命名等方式,比如 DSF1.JPG..DSF1000.JPG,
    还有些就是网络上的文件管理,都是采用当前上传时间作为文件名,比如20040512.RAR等,
    这些文件名都具备一定的特殊性和规则型,比如,都有线性递增性等。为了让我们下载这
    类文件带来更高的效率,我们开发了这套软件,它具备自动识别文件名,自动按照要求连
    接站点,自动开关机运行,下载过程中支持让用户自定义多线程下载等。
   
二、软件特点
    多线程,脚本管理(目前为公开的下载技术中为首创),断点续传下载。用户只要写好脚本或
    者到我们网站上取得脚本或者和别的朋友互相交换脚本,就可以获得无穷多下载链接,为
    那些爱好收藏的朋友提供了一个无穷无尽的收藏乐趣!请牢记我们为她开设的QQ群号码 
    (4009199),在这里我们可以讨论技术,交流脚本等。
    
    她可以在用户设置的时间内,批量从一个或者多个站点同时下载文件,并且,按照事先设
    置好的路径保存,还具备在特定时刻上线获取文件(对于那些定时开启服务器的站点特别
    有好处,比如国外的一些电影网站等),另外,他的一个显著特点在于批量下载,不同于
    以前下载软件的管理方式,他只要用户写一条语句,就会自动找到一批文件,而不是一个
    文件。只要你的磁盘足够,只要你有心去为她找到工作脚本,她就会给你带来意想不到的收获!
    
三、使用说明
    V1.0版支持的命令说明
    1, DIM --用来定义一个或者一组变量名,
        使用格式 DIM [X],[Y]
        说明 变量名之间用,分开,也可以用空格分开,变量名用[]括起来,便于程序分辨变量
        和普通符号
        
    2,SET -- 为变量赋值
        使用格式 SET [X] FROM AAA TO BBB AM CCC
        说明 设置变量的范围值以及变量的字符宽度,比如下面
             SET [X] FROM 1 TO 3 AM 2 ----设置变量[X] 从1到3,由于变量的字符宽度
                                          (AM指定)是2,也就是说实际上[X]应该表示为
                                          01-03,如果指定AM 6 那么,[X]实际变化应该
                                          是000001-000003这样,以此类推
                                          
    3,GOTO --无条件转移
        使用格式  GOTO ADDRESS
        说明 这个命令可以用来控制程序流程,无条件转移到脚本对应的条目执行,请参看我们
             提供的相关DEMO脚本,转移目的行号不能小于当前自己的行号,比如当前是 10 goto 
             xxx ,这里,xxx不能小于10,也不能大于128+10=128 ,也就是说,转移相对行数不
             能超过128行
        
    4,RUN -- 运行脚本
        使用格式  RUN 不需要带任何参数
        说明 命令执行前所作的一切修正均有效,执行完前面所有脚本之后,程序开始往下一条脚本执行
        
    5,URL -- 指定需要下载的代码的URL路径
        使用额是 URL [URL路径] 
        说明  一定要用[]把完整的路径框起来,路径可以带也可以不带参数
        
    6,SAVETO -- 保存文件路径
        使用格式 SAVRTO [文件路径]
        说明 文件路径一定要有效,不能指定一个无效路径,否则,程序运行过程中会出错
        
    7,PROXNAME -- 指定代理服务器名
        使用格式  PROXNAME [代理服务器名或者IP地址]
        说明  代理服务器可以是域名,也可以使用IP地址
     
    8,PROXPWD  -- 代理服务器验证密码
        使用格式  PROXPWD [密码]
        说明  有些代理服务器需要验证用户密码,在这里输入即可
        
    9,USERNAME -- 用户名
        使用格式  USERNAME [用户名]
        说明 由于某些网站或者页面需要验证,在这里设置好用户名即可
        
    10,USERPWD --用户密码
         使用格式  USERPWD [密码]
         说明  由于某些网站或者页面需要验证,在这里设置好用户密码即可
     
    11,MAXTHREAD -- 设置线程数
         使用格式 MAXTHREAD XXX
         说明  设置线程数不能超过 64 (第一版的限制,以后会突破这个限制)
         
    12,MSG -- 显示一个消息框
         使用格式  MSG [消息内容]
         说明  这个功能非常实用,在代码执行过程中,可以用来查看流程或者用来作为提示
         
    13,# -- 注释
         使用格式  # 注释内容
         说明 注释内容也是要占用行号的,所以,完整格式应该是 "行号 # 内容",或者放在行后面后面,"1 MSG [AAA] # 显示消息"
         
    14,PORT  -- 设置服务器端口
         使用格式 PORT XXX
         说明 设置服务器对应的端口,后面直接跟数字,端口范围(1-65535)    15.LIST -- 设置输出列表文件
         使用格式 LIST [全路经文件名]
         说明  这个命令用来设置一个输出列表文件,可以用来查看结果,那些URL是无效的,哪些是有效的! 
         
    16,END  -- 结束脚本
         使用格式 END
         说明 无条件结束脚本的执行,一旦脚本执行到这里,立即结束,返回监控状态,忽略下面所有的指令         
    其他指令尚在开发中,敬请期待
    
四、脚本制作方法(手动)
    首先要注意,脚本的每一行都是这样的标准格式
    " 行号 命令 数据 注释",也就是说,每一行都从行号开始,每个字符实体之间通过空格或者逗号(,)分开,请看下面的例子
    1 Dim [x],[y],[z] # 定义一组变量
    2 set [x] from 3 to 4 am 2 # 变量[x]的范围是03-04
    3 set [y] from 1 to 3 am 2 #  [y]的范围是01-03
    4 set [z] from 1 to 200 am 6 # [z]的范围是000001-000200之间
    5 run  # 开始运行
    6 end  # 无条件结束
    
    假设初始域名是这样的格式 http://www.test.com/[x]/jsj[y]/[z].rar
    那么经过上面的脚本之后,结果就得到从
    http://www.test.com/03/jsj01/000001.rar
    到  http://www.test.com/04/jsj03/000200.rar 的一共1200个下载链接地址
    
    脚本规则如下:
       1,每一行开头必须是行号,而且行号从1开始,逐步向下连续,不能重复,不能断开,否则出错
       2,命令,数据,字符串,注释等,必须用空格或者逗号分开
       3,字符串必须用[]框起来,否则当作数字处理
       4,数字一定不能用任何分隔符进行分隔
      
五、使用技巧
    希望您在使用过程中发现什么技巧和经验,及时反馈给我([email protected]),另外,如果有空把自己制作的脚本拿出来和大家共享,这样脚本库丰富了,自然收藏的东西就多起来了!就不用再为找个软件而发愁到处去找服务器了。
    
六、脚本发布
    欢迎大家来QQ群(4009199)讨论和发布自己的脚本,也可以到这里来共享别人的脚本,做到互通有无!
    另外,很快我就会开一个站点来为大家共享和交流自己的脚本和各种各样的下载链接!
    
七、感谢
    感谢所有支持本软件的朋友,感谢大家的良好建议和鼎力支持,尤其是刚开始的时候,大家积极测试,为我写后续版本提供了很多宝贵的经验,在大家的热情支持下,我会继续努力完善后续版本,提供一个更稳定的下载机器人,为我们爱好收藏的朋友奉献一个好工具!
    最希望得到大家积极交流自己的脚本,如果自己写了什么脚本,如果能够给我提供一份,本人倍感鼓舞和荣幸!