有些页面上放置有 提示标志,请将鼠标悬停在上面查看简短的帮助信息。你可以访问我们的网站以查阅常见问题,或者可以在我们的Bug管理系统中报告问题。
批量描述符用来构建批量下载的网址序列,它的定义如下:
[开始:结束] 或
[开始:结束:步长]
描述符 | 结果 |
---|---|
[1:100] | 1,2,3,...,99,100 |
[1:100:3] | 1,4,7,...,97,100 |
[a:z] | a,b,...,z |
[F:Y] | F,G,...,Y |
[01:100] | 01,02,03,...,99,100 |
命名字段可以帮助你方便地设置文件名。下表列出了你可以使用的所有命名字段,方括号里的内容是可选的。
字段 | 意义 |
---|---|
*name* | 文件名 |
*ext* | 扩展名 |
*url* | 网址 |
*host* | 域名 |
*query* | 网址的查询字符串 |
*anchor* | 网址的锚字符串 |
*subdirs* | 网址的子目录字符串 |
*text* | 链接或图片附带的文本内容 |
*title* | 链接或图片的标题属性 |
*page_title* | 下载引用页的网页标题 |
*num* | 计数器,在添加新任务时递增 |
*size* | 文件大小,以字节为单位 |
*refer* | 引用页网址 |
*mime* | 互联网媒体类型 |
*remark* | 备注 |
*hh* | 当前小时,2位数字 |
*mm* | 当前分钟,2位数字 |
*ss* | 当前秒,2位数字 |
*y* | 当前年份,4位数字 |
*m* | 当前月份,2位数字 |
*d* | 当前日期,2位数字 |
*wd* | 当前星期几,1位数字 |
*datetime[,yyyy-MM-dd hh:mm:ss]* | 当前日期时间,可附带格式化字符串,如果该字符串省略,默认将以'yyyy-MM-dd hh:mm:ss'进行格式化 |
*date[,yyyy-MM-dd]* | 当前日期,可附带格式化字符串,如果该字符串省略,默认将以'yyyy-MM-dd'进行格式化 |
*time[,hh:mm:ss]* | 当前时间,可附带格式化字符串,如果该字符串省略,默认将以'hh:mm:ss'进行格式化' |
*addtime[,yyyy-MM-dd hh:mm:ss]* | 添加任务的日期时间,格式化字符串与*datetime*相同 |
对与URL相关的字段,你还可以添加前缀'flat'来将所有斜线转换成下划线,例如 *flaturl*, *flatsubdirs*.
请注意,你设置的文件名允许包含子目录,例如 dirA/dirB/*name*.*ext*.
规则可以用以在下载管理器中过滤任务,和自动为任务设置命名方式。
一个条规则的条件可以引用另一条规则,方法是将其引用名用花括号包起来,例如,预先定义好的规则 r_done_audio 引用了规则 r_done.
规则的条件可以使用上述的命名字段来提取任务的对应信息,下表列出了额外的可以在规则条件中使用的字段。字段 | 意义 |
---|---|
*state* | 任务的当前状态 |
*time_elapsed* | 任务已用时间 |
*progress* | 任务的当前进度 |
规则条件还可以通过方括号来引用系统预定义的常量,例如规则 r_done 引用了常量 [finish]。方括号还可以用来引用扩展名过滤器,因为扩展名过滤器被当做正则表达式的字符串常量,例如规则 r_done_audio 引用了扩展名过滤器 [ext_audio].
下表总结了系统预定义的常量(全部为小写):
常量 | 意义或取值 |
---|---|
[mon] | 1 |
[tue] | 2 |
[wed] | 3 |
[thu] | 4 |
[fri] | 5 |
[sat] | 6 |
[sun] | 0 |
[download] | 任务状态:下载中 |
[inqueue] | 任务状态:排队中 |
[paused] | 任务状态:暂停 |
[finished] | 任务状态:已完成 |
[interrupted] | 任务状态:中断 |
[now] | 当前时间 |
[today],[today_] | 今天的开始时刻,也就是00:00:00;末尾添加下划线指的是今天的结束时刻,也就是23:59:59. 下面的时间常量都可以在末尾添加下划线 |
[yesterday] | 昨天的开始时刻,即00:00:00 |
[this_week] | 本周的开始时刻 |
[last_week] | 上周的开始时刻 |
[this_month] | 本月的开始时刻 |
[last_month] | 上个月的开始时刻 |
[this_year] | 今年的开始时刻 |
[last_year] | 去年的开始时刻 |
[n_days_ago] | 前'n'天的开始时刻,'n'可以是任意正整数,例如[3_days_ago] |
[n_weeks_ago] | 前'n'周的开始时刻 |
[n_months_ago] | 前'n'天月的开始时刻 |
[n_years_ago] | 前'n'年的开始时刻 |
每条规则的条件表达式中往往包含字符串类型的量、数值类型的量和时间类型的量。你可以对数值类型的量进行任意算术运算;使用'+'号连接字符串类型的量;使用'-'号计算两个时间类型的量的差。下表列出了不同类型的量所支持的函数:
类型 | 函数 | 参数 | 描述 |
---|---|---|---|
字符串 | is | 一个正则表达式字符串 | 测试字符串是否完全匹配某个正则表达式,如*url*.is("xxx") |
字符串 | has | 同上 | 测试字符串是否包含子串匹配某个正则表达式,如*url*.has("xxx") |
字符串 | beginwith | 同上 | 测试字符串是否以某字符串作为开始,如*url*.beginwith("xxx") |
字符串 | endwith | 同上 | 测试字符串是否以某字符串作为结尾,如*url*.endwith("xxx") |
时间 | aft | 一个时间类型的量或一个表示时间的字符串 | 测试时间是否晚于,如*addtime*.aft("2012-3-11"), *addtime*.aft([now]) |
时间 | b4 | 同上 | 测试时间是否早于,如*addtime*.b4("2012-3-11") |
时间 | btwn | 两个时间类型的量或表示时间的字符串 | 测试时间是否在...之间,如*addtime*.btwn("2012-3-11","2013-3-11") |
时间 | is | 一个时间常量字符串 | 该辅助函数可以让你仅使用一条语句如*addtime*.is("today"),来完成这样的测试:*addtime*>=[today]&&*addtime*<=[today_] |
下面是其他可能会用到的辅助函数:
函数 | 参数 | 描述 |
---|---|---|
yearof | 一个时间类型的量或一个表示时间的字符串 | 返回一个代表给定参数的年份的数字,如yearof("2012-3-11"), yearof(*addtime*) |
monthof | 同上 | 返回一个代表给定参数的月份的数字 |
dateof | 同上 | 返回一个代表给定参数的日期月份的数字 |
dayof | 同上 | 返回一个代表给定参数的星期几的数字 |
hourof | 同上 | 返回一个代表给定参数的小时的数字 |
minuteof | 同上 | 返回一个代表给定参数的分钟的数字 |
secondof | 同上 | 返回一个代表给定参数的秒的数字 |
kb | 一个数字 | 将千字节换算成字节,如kb(1)=1024 |
mb | 同上 | 将兆字节换算成字节,如mb(1)=1024*1024 |
gb | 同上 | 将吉字节换算成字节,如gb(1)=1024*1024*1024 |
hour | 同上 | 返回一个数字代表x个小时,如[now]-*addtime*<hour(3)意味着任务是在近3小时内添加的 |
min | 同上 | 返回一个数字代表x分钟 |
sec | 同上 | 返回一个数字代表x秒 |
如果Chrono遇到了重大问题,无法继续工作,你可以尝试点击下面的重置按钮,它将清除所有任务和设置,并重新载入Chrono.