犀牛脚本:仿迅雷的增强批量下载

阅读: 评论:0

犀牛脚本:仿迅雷的增强批量下载

犀牛脚本:仿迅雷的增强批量下载

迅雷的批量下载满好用。但是有两点我不太中意。在这个脚本里会有所增强

1、不能设置保存的文件名。
2、不能单独设置这批下载的线程限制。

使用方法

// 下载从编号001到编号020的图片,保存名为猫咪写真*.jpg 使用6个线程 
jdlp {*}.jpg d:草原上的可爱猫咪 猫咪写真{*}.jpg 20 1 3 6


脚本备份

View Code
var rslt = [];
var urlPattern = arguments[0].replaceAll("(http|https)://", "");
var targetDir = arguments[1] || "d:\";
var filenamePattern = arguments[2] || "图片";
var endIndx = arguments[3];
var startIndx = arguments[4];
var numlen = arguments[5];
var threadnum = arguments[6];
var service = wFixedThreadPool(threadnum);
mkdir(targetDir);

function downloadTask(indx) {
var url = "" + place("{*}", String());
var file = targetDir + place("{*}", String());
return function() {
// 生成一个url 生成目标文件
try {
println("downloading : " + url);
cp(url, file);
println("downloaded : " + url);
} catch(e) {
println("download error : " + url);
println("reasion :" + e);
}
}
}

function fillStr(str, c) {
var sb = new java.lang.String());
var len = sb.length();
if (len > numlen) {
String().substring(0, len);
} else {

for (var cnt = 1; cnt <= (numlen - len); cnt++)
sb.insert(0, c);
String();
}
}

function checkAllDone() {
for each(var futur in rslt) {
if (future.isDone() == false) return false;
}
return true;
}

for (var i = startIndx; i <= endIndx; i++) {
var indx = fillStr(i, '0');
var future = service.submit(new java.lang.Thread(downloadTask(indx)));
rslt.push(future);
}
service.shutdown();

// 等待结束
while (checkAllDone() == false) {
java.lang.Thread.sleep(1000);
}

println("~~~~over~~~");

转载于:.html

本文发布于:2024-02-01 11:07:41,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170675686136178.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:迅雷   犀牛   批量   脚本
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23