中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-12 09:09
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » 迅雷下载后关机
可打印版本  1,948 / 14
第1楼 gool123456 发表于 2010-04-24 21:01
初级用户 发帖 76 积分 89
迅雷下载后关机
多谢各位的建议,判断的准确度已经进一步了。

这个P处理用处不大,在这只做参考。。

代码是以迅雷5写的,如果你不是用迅雷5的,请把名字改成你的下载器名。已经

测试过其他下载器同样可以,只要把下载器的名字替换掉以下的Thunder5.exe
即可。

把以下代码保存为“迅雷关机监控.bat”:



[ Last edited by gool123456 on 2010-5-6 at 21:49 ]
第2楼 gool123456 发表于 2010-04-24 21:06
初级用户 发帖 76 积分 89
= = 发上去的文件忘了改成论坛名了 呵呵。
第3楼 exzzz 发表于 2010-04-24 22:39
初级用户 发帖 167 积分 194
这个批处理是相当的无聊。。。


你还不如写个更简单实用的,自动监控迅雷下载任务,完成后自动转移到其他目录,避免迅雷上传,影响网速。
第4楼 rs369007 发表于 2010-04-24 23:16
初级用户 发帖 131 积分 147
大致看了下,楼主可能对网络协议不是很懂(其实我也不是很懂)
SYN_SENT:是在用connect 函数发起连接
ESTABLISHED:表示一个tcp连接经过三次握手后已经建立完毕,可以开始通信

你的判断的应该先排除迅雷与迅雷服务器的连接,
netstat 显示的tcp状态似乎没有能判断这个端口是否是正在传送数据,建立起tcp连接后程序可以通过某端口“随时”发送数据,状态还是ESTABLISHED,所以不能说tcp状态为ESTABLISHED,就说迅雷在下东西了。

[ Last edited by rs369007 on 2010-4-24 at 23:26 ]
第5楼 gool123456 发表于 2010-04-25 00:11
初级用户 发帖 76 积分 89
Originally posted by exzzz at 2010-4-24 22:39:
这个批处理是相当的无聊。。。


你还不如写个更简单实用的,自动监控迅雷下载任务,完成后自动转移到其他目录,避免迅雷上传,影响网速。


这个批处理也是有个朋友想通过迅雷下载完毕后,通过批处理或者不用第3方软件当迅雷下完指定任务后可以自动关机。
我在这个功能上加上了一些小功能,其实真正目的是为了下载后能通过它来关机。

而不是真正做个下载器。这也没意思。

你怕上传影响网速,还不如直接KILL了。

[ Last edited by gool123456 on 2010-4-25 at 14:01 ]
第6楼 slore 发表于 2010-04-25 15:11
铂金会员 发帖 2,478 积分 5,212
本身不是有这个功能麽?
第7楼 gool123456 发表于 2010-04-25 21:43
初级用户 发帖 76 积分 89
Originally posted by slore at 2010-4-25 15:11:
本身不是有这个功能麽?

是有的,在迅雷的“工具”菜单里。
但用批处理监控也不错。优点是监控是否有连接的,不用等待连接断开请求。

[ Last edited by gool123456 on 2010-4-25 at 21:44 ]
第8楼 exzzz 发表于 2010-04-25 23:20
初级用户 发帖 167 积分 194
Originally posted by gool123456 at 2010-4-25 09:43 PM:

是有的,在迅雷的“工具”菜单里。
但用批处理监控也不错。优点是监控是否有连接的,不用等待连接断开请求。

[ Last edited by gool123456 on 2010-4-25 at 21:44 ]



如楼上某位所言,你没有考虑到连接服务器的情况,连接到服务器之后,也是有连接建立起来的。


此外,我所说的,监控迅雷已下载完成的任务并转移到其他目录,并不是kill就行。

你还得考虑到迅雷有这2个问题:1、下载后并不会自动退出迅雷。2、某个任务下载完成后,还有其他的任务需要下载,不可以kill迅雷,我需要他下载,不要他上传。

[ Last edited by exzzz on 2010-4-25 at 23:22 ]
第9楼 lena 发表于 2010-04-26 05:14
初级用户 发帖 67 积分 154
迅雷不是有下载完毕自动关机吗?lZ这不是多此一举哇?
第10楼 gool123456 发表于 2010-04-26 18:19
初级用户 发帖 76 积分 89
Originally posted by exzzz at 2010-4-25 23:20:



如楼上某位所言,你没有考虑到连接服务器的情况,连接到服务器之后,也是有连接建立起来的。


此外,我所说的,监控迅雷已下载完成的任 ...


如果是限制迅雷上传的,我在网上搜了下方法有很多。就采用了百科其中一种方法写了一句,可以加上



[ Last edited by gool123456 on 2010-4-26 at 18:44 ]
第11楼 gool123456 发表于 2010-04-26 18:21
初级用户 发帖 76 积分 89
Originally posted by rs369007 at 2010-4-24 23:16:
大致看了下,楼主可能对网络协议不是很懂(其实我也不是很懂)
SYN_SENT:是在用connect 函数发起连接
ESTABLISHED:表示一个tcp连接经过三次握手后已经 ...


排除服务器连接似乎很难实现。。按严格来代码中的连接是不准确的,因为我不是计算下载的连接,是所有正常连接。
那个“echo迅雷在下载中..”似乎有点在忽悠别人。。。
判断迅雷是否在下载,目前我还没找到窍门。但如果是FTP下载,其实是可以计算文件大小来判断下载速度的。
第12楼 gool123456 发表于 2010-04-26 18:52
初级用户 发帖 76 积分 89
写来玩的~
第13楼 rs369007 发表于 2010-04-26 18:59
初级用户 发帖 131 积分 147
Originally posted by gool123456 at 2010-4-26 18:21:


其实是可以计算文件大小来判断下载....


我就是楼主这个思路,监控文件大小。不过觉得这个任有一些难度和问题。
1,用for 扩展读取文件大小 %%~zi ,如果文件没有下完大小还是整个文件完整的大小。

如果监控链接状态,假设能正常监控数据传输状态,但是传输过程中完全有可能会出现链接被意外终止的情况,这必须被考虑(比如网线接口松了、交换机故障等),超过一定时间链接会被终止。所以建议 监控链接状态与检查文件的完整性。

[ Last edited by rs369007 on 2010-4-26 at 19:15 ]
第14楼 rs369007 发表于 2010-04-26 19:37
初级用户 发帖 131 积分 147
监控链接刚查了下,在tcp状态下,发起socket主动shutdown的会进入TIME_WAIT状态,如果能先记录一下迅雷刚启动时与所有外部ip的连接(记录下ip和状态吧),间隔<4分钟检查比对一次看看有不有新出现的和其他ip的连接出现TIME_WAIT的。

以前我也写过网络程序用c,如果迅雷主动调用shutdown、或closesocket,应该可以判断迅雷这次和这个“资源服务器”下载对话已经结束了。
第15楼 gool123456 发表于 2010-04-26 20:30
初级用户 发帖 76 积分 89
Originally posted by rs369007 at 2010-4-26 18:59:


我就是楼主这个思路,监控文件大小。不过觉得这个任有一些难度和问题。
1,用for 扩展读取文件大小 %%~zi ,如果文件没有下完大小还是整个文件 ...

嗯 ,是很好的建议。
今天测试过了,确实发现了迅雷有时不在正常连接状态下,依然可以下载. 不知道是不是UDP连接在作怪,还是流量有延缓。。(前提是我限制了下载速度为2K)。我对这方面不是很了解.

[ Last edited by gool123456 on 2010-4-26 at 20:54 ]
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023