FTPRush 脚本小指南 不指定

zeus , 2010/07/03 11:03 , J2EE , Comments(0) , Reads(92) , Via Original Large | Medium | Small
现成的,直接copy再正确修改就可以了
上传:
RushApp.FTP.Transfer(0, ”, ‘本地目录’, ”, ‘上传ftp名字’, ‘/远程目标目录’, ”, RS_UP or RS_LOGOUT, ”, ”, ”, ”, ”, 0, 0, 0, RS_SORTDATE or RS_SORTDES, RS_SORTDATE or RS_SORTDES, 0, 5);

FXP
RushApp.FTP.Transfer(0, ‘指定01ftp名字’, ‘/目录’, ”, ‘目的02ftp名字’, ‘/目录’, ”, RS_DIRDES or RS_DIRSRC or RS_APPEND, ”, ”, ”, ”, ”, 0, 0, 0, RS_SORTDATE or RS_SORTDES or RS_APPEND, 0, 0, 10);

下载
RushApp.FTP.Transfer(0,’ftp名字’,'/目录’,”,”,’本地目录’,”,RS_DIRDES or RS_DIRSRC or RS_APPEND or RS_DOWN or RS_DIRDES or RS_DIRSRC or RS_LOGOUT,”,”,”,”,”,0,0,0,0,0,0,10);
—————————————————————————————

RushApp.FTP.Transfer(0,'ebook','new','','','D:\ftpDownload\ebook\','',RS_DOWN or RS_DIRSRC or RS_DIRDES or RS_NOSKIP or RS_APPEND or RS_LOGOUT, '*-ebook','','','','',0,0,0,RS_SORTDATE or RS_SORTDES,0,3,0)

—————————————————————————————

第二个是删除所有失败队列:
========================
RushApp.FTP.RemoveQueue(”,”,”,RS_FAIL);

退出所有空闲窗口的FTP:
=========================
RushApp.FTP.Logout(”,0);

FtpRush 脚本
RushApp.FTP.Transfe\ RushApp.FTP\ RushApp.FTP.Delete
RushApp.FTP.CWD\ RushApp.FTP.Login\ RushApp.FTP.RAW
RushApp.FTP.Logout\ RushApp.FTP.RemoveQueue

RushApp.FTP.Transfe
Declare
procedureTransfer(
Handle: Integer;
SrcList, SrcFolder, SrcItem, DesList, DesFolder, DesItem: string;
Flag: Integer
FolderAllow, FolderSkip, FileAllow, FileSkip: string
CompleteFlag: string
RepeatCount: Integer
RetryCount: Integer
Timeout: Integer
FolderSort, FileSort: Integer
Depth, SubCount: Integer
);

//参数类型说明:integer——整型 string——字符串

Description
Transfer Queue , support upload download and FXP
//队列传输函数,支持上传,下载和FXP

Parameters
Handle
specifies which window to place queues, first window is 1, 2th window is 2…, if you do not use this param, set it to zero.
//定制哪个容器放置队列,第一个窗口就是1,第二个就是2,依此类推,如果你不使用这个参数,那就设为0。

SrcList

SrcList is the source FTP name or a List of FTP names, if it’s a list of FTP names, be splitted with RushApp.FTP.Splitter, This param be used for Download and FXP
//源FTP的名字,如果大于一个,则各个FTP名字前需要用分隔符(参见最后的引用)分开,这个参数对下载和FXP有效。如果上传,留空即可。

SrcFolder

SrcFolder is the source folder name or a bookmark, for Upload, it’s a Local folder path or a Local bookmark
//源目录或者源目录的书签,如果是上传,则这个是本地目录或者本地目录的书签

SrcItem

SrcItem is the source folder or file name, for Upload, it’s a Local folder name or file name
//单个文件就输入文件名,留空则表示整个目录。

DesList

same as SrcList
//用法同SrcList参数

DesFolder

same as SrcFolder
//用法同ScrFolder参数

DesItem
same as SrcItem
//用法同SrcItem参数

Flag
If you don’t use Flag, use zero instead of it.
//如果这个参数不用就设为0。注意:如果Flag中有一个以上参数,则用’or’连接,非and。

RS_FILE
tell FTPRush this queue is a file, without this flag this queue is a folder
//告诉FTPRush这个队列是一个文件,否则队列个文件夹。
RS_UP
tell FTPRush this queue is upload mode, without this flag this queue is FXP mode
//告诉FTPush这是个上传队列,否则默认队列为FXP模式。
RS_DOWN
tell FTPRush this queue is download mode, without this flag this queue is FXP mode
//告诉FTPush这是个下载队列,否则默认队列为FXP模式。
RS_DIRSRC
specifies SrcFolder is a folder, without this flag, SrcFolder is a bookmark
//说明SrcFolder是个文件夹,否则默认为书签。

RS_DIRDES
specifies DesFolder is a folder, without this flag, DesFolder is a bookmark
//说明DesFolder是个文件夹,否则为书签。

RS_NOSKIP
tell FTPRush do not use skiplist to filter DesItem and DesItem
//告诉FTPRush不要使用过滤列表过滤DesItem。(这里是不是应该为SrcItem和DesItem?)

RS_APPEND
tell FTPRush combines all queue items at ONE window, otherwise, every queue item running at a NEW window.
//告诉FTPush把所有队列放到一个容器里,否则每个队列占用一个容器。

RS_EXPR
if includes this flag, FolderAllow, FolderSkip, FileAllow, FileSkip match Perl Expressions, otherwise match wildcard
//如果加上这个标记,则FolderAllow, FolderSkip, FileAllow, FileSkip匹配的时候都支持Perl语句,否则匹配通配符

RS_LOGOUT
disconnected from server after queue transferred
//队列结束后断开连接

RS_GHOST
use !username as login name
//用!username做为登陆名 (liucl@DRL:ioftpd&glftpd里面在登陆用户名前面加”!”可以把挂在上面的尸体踢下来)

RS_INVERT
add or remove ‘ – ‘ from login password
//加上或去掉密码前的’-'(z-z@DRL:这个功能是给登录 glftpd 的用户的, 如果在登录的时候, 密码之前加一个 “-” 符号, 那么glftpd不会发送冗余的信息给你.)

RS_NOCIRCLE
Folder2 (n+1) won’t start before folder1 (n) is all over
//前一个文件夹完全完成后开始第二个文件夹

RS_CHECKLOGIN
only works for without RS_APPEND and dont use ContainerID.
then when no free logins to transfer, FTPRush auto select a container which have the same transfer (src/dest) and append it
//没有加RS_APPEND的时候此参数有效,并且不要使用容器编号。当某一站点的登陆数达到上限的时候,FTPRush将自动选择一个“源-目标”相同的容器,将需要传输的任务加到这个容器队列的后面。
RS_POPUP
to bring FTPRush on top
//前端显示FTPRush程序窗口

RS_NOMKD
when transferring folders with sub dirs, FTPRush will not create the sub dirs in dest FTP if sub dirs exists in dest FTP(just do CWD)
//如果队列传输包含子目录,且在目标FTP上存在相同子目录,则FTPRush只执行CWD命令而不创建文件夹

FolderAllow
Allow sub folders match FolderAllow param, can be a empty string
//设置目录的允许列表,可以留空。

FolderSkip
Skip sub folders match FolderSkip param, can be a empty string
//设置目录的过滤列表,可以留空。

FileAllow
Allow sub files match FileAllow param, can be a empty string
//设置文件允许列表,可以留空。

FileSkip
Skip sub files match FileSkip param, can be a empty string
//设置文件的过滤列表,可以留空。

CompleteFlag
when set RepeatCount > 0, CompleteFlag can let the queue thread stop when thread found a folder/file name at Source/Destination directory list match the CompleteFlag, CompleteFlag only supports Perl Expressions
//在RepeatCount>0的时候此参数有效。当源(目标)FTP上找到一个文件夹(文件)名字与CompleteFlag匹配,则队列停止。CompleteFlag只支持Perl语句。

RepeatCount
indicates how many times to refresh for a folder
//设定刷新一个文件夹几次。

RetryCount
indicates retry count when transfer a file
//设定单个文件的重试次数。

Timeout
set timeout(seconds) for a FXP queue, when timeout and transfer not started, this queue will be removed*not implented*
//设置FXP队列的超时时限(单位:秒),超过时限还没开始传输的队列将被移除。
//查不到“implented”这个词啥意思,怀疑是“not implemented”,该功能未现实

FolderSort
define sort method for sub folders, set it to zero to use default sort method (sort by name ascending)
//定义目录的排序规则,设为’0′时使用默认规则(按名称升序排列)

RS_SORTDES
specifies sort sorting as descending
//目录按降序排列(可以结合下面两个参数)

RS_SORTDATE
specifies sort by date
//按日期排列

RS_SORTSIZE
specifies sort by size
//目录按大小排列

FileSort
define sort method for sub folders, set it to zero to use default sort method (sort by name ascending)
//定义文件的排序规则,设为’0′时使用默认规则(按名称升序排列)
RS_SORTDES
specifies sort sorting as descending
//目录按降序排列(可以结合下面两个参数

RS_SORTDATE
specifies sort by date
//按日期排列

RS_SORTSIZE
specifies sort by size
//目录按大小排列

Depth
depth of sub folders
//设置目录深度,’0′则操作整个目录

SubCount
when transfer a folder includes sub folder/files, the first SubCount file/folders will be transferred. set it to zero to disable this feature
//当传输有子目录的目录(文件)时,只传输最上面的SubCount个目录(文件)。设为’0′可以屏蔽这个功能。

RushApp.FTP
Variables

RushApp.FTP.Splitter
Declare
property Splitter: string;
Description
Indicates splitter for Names of FTP Server, default splitter is ‘;’
//定义分隔符FTP脚本的分隔符,默认的是’;'。一般用用就默认好了,这个定义对下面7个函数均有效。
Example
RushApp.FTP.Splitter := ‘|’;
//这个例子就是把分隔符定义为’|'(不包括引号)。

RushApp.FTP.Delete

Declare
procedureDelete(NameList: string; Path: string; Name: string; Flag: Integer);

Description
Delete folder or file from specifies connected/idle FTP Servers
//删除指定FTP上的文件或文件夹

Parameters
NameList
Specifies which FTP need to delete folders or files, NameList can not be empty string
//指定需要删除文件(文件夹)的FTP,多个FTP则用分隔符隔开,不能为空。

Path
Specifies a bookmark name or a directory
//指定一个目标FTP上的目录或书签。

Name
a file name or a folder name, allows be a empty string
//指定目录下要删除的文件(文件夹)的名字。

Flag
if you don’t use Flag, use zero instead of it
//就使用这个参数就设为0吧。

RS_BOOKMARK
Param Path is a bookmark
//说明Path是个书签,否则为目录。

RS_RECURSIVE
when delete a folder, do not use recursive delete
//关于这个参数解释一下,照字面翻译是递归的意思,看得真是晕里雾里的,我用例子3和4分别测试了一下删除的效果(G6 v3.7.0 build24&FTPRush v1.0.0.0581)。例4是不管三七二十一直接删掉“test”文件夹。例3则分情况,如果“test”下无子目录,则删除“test”整个文件夹(不管是否有文件存在),如果“test”下有子目录,则只清空该文件夹下的文件,保留子目录和该文件 夹本身。
RS_FOLDER
tell FTPRush that’s a folder, otherwise it will be executed as deleting file
//告诉FTPRush这是一个文件夹,否则将做为文件来删除。

RS_LOGOUT
disconnect from FTP after deleted
//完成删除操作后断开连接。

RS_LOGIN
connect to FTP when have no active FTP connections
//如果当前没有连接状态的FTP,则连接FTP。

RS_POPUP
to bring FTPRush on top
//前端显示FTPRush。

Examples
//delete file ‘/public/test.txt’ from FTP1
RushApp.FTP.Delete(‘FTP1′,’/public’,'test.txt’,0);
//删除FTP1上“/public”目录下的test.txt文件。

//delete file ‘test.txt’ from bookmark ‘public’ of FTP1 and FTP2
RushApp.FTP.Delete(‘FTP1;FTP2′,’public’,'test.txt’,RS_BOOKMARK);
//删除FTP1和FTP2上“public”书签下的“test.txt”文件。

//delete file from folder ‘test’ from bookmark ‘public’ of FTP1
RushApp.FTP.Delete(‘FTP1′,’public’,'test’,RS_FOLDER or RS_BOOKMARK);
//删除FTP1上“public”书签下的“test”文件夹。(文件夹无子目录时有效)

//delete file from folder ‘test’ from bookmark ‘public’ of FTP1
RushApp.FTP.Delete(‘FTP1′,’public’,'test’,RS_FOLDER or RS_BOOKMARK or RS_RECURSIVE);
//删除FTP1上“public”书签下的“test”文件夹。(不论是否为空连带子目录一起删除)

RushApp.FTP.CWD

Declare
procedureCWD(NameList: string; Param: string; Flag: Integer);

Description
Let all or specifies connected/idle FTP Servers change remote directory.
//改变指定FTP的远程路径
Parameters

NameList
Specifies which FTP need to change remote directory, you can use a splitter for multiple FTP servers, if it’s empty then all connected idle FTP servers will change remote directory
//定制哪个FTP改变远程路径,可以是多个FTP,不过需要用分隔符分开。如果为空的话则所有空闲FTP均改变远程路径。

Param
Specifies a bookmark name or a directory
//设置FTP以书签或者路径为依据进行目录跳转。

Flag
if you don’t use Flag, use zero instead of it
//如果不用这个参数就设为0吧。

RS_BOOKMARK
Param is a bookmark
//告诉程序Param这个参数是书签
RS_POPUP
to bring FTPRush on top
//前端显示FTPRush

Examples
//tell all non-transfering connections change to bookmark ‘public’
RushApp.FTP.CWD(”,’public’,RS_BOOKMARK);
//非传输状态的FTP都跳转到书签“public”。

//tell all non-transfering connections change to directory ‘/public/’
RushApp.FTP.CWD(”,’/public/’,0);
//非传输状态的FTP都跳转到目录“public”。

//tell ‘FTP1′ server change to bookmark ‘pub’
RushApp.FTP.CWD(‘FTP1′,’pub’,RS_BOOKMARK);
//将FTP1的远程路径跳转到书签“pub”。

//tell ‘FTP1′ and ‘FTP2′ server change to bookmark ‘pub’
RushApp.FTP.CWD(‘FTP1;FTP2′,’pub’,RS_BOOKMARK);
//将FTP1和FTP2的远程路径都跳转到书签“pub”。

//tell ‘FTP1′ server change to directory ‘/public/’
RushApp.FTP.CWD(‘FTP1′,’/public/’,0);
//将FTP1的远程路径跳转到目录“/public/”。

//tell ‘FTP1′ and ‘FTP2′ server change to directory ‘/public/’
RushApp.FTP.CWD(‘FTP1;FTP2′,’/public/’,0);
//将FTP1和FTP2的远程路径跳转到目录“/public/”。

RushApp.FTP.Login

Declare
procedureLogin(NameList: string; Param: string; Flag: Integer);

Description
Connect to one or more FTP Servers and jump to a FTP path or bookmark.
//连接一个或多个FTP服务器同时跳转到指定路径或书签。

Parameters
NameList
Specifies which FTP to connect, you can use a splitter to connect multiple FTP servers
//指定要连接的FTP,多个FTP则用分隔符分开。

Param
Specifies a bookmark name or a directory name, or a empty string
//FTP连上后要跳转到的书签或路径,可以为空。
Flag
if you don’t use Flag, use zero instead of it
//如果不用这个参数就设为0吧。
RS_BOOKMARK
Param is a bookmark
//告诉程序Param这个参数是书签。
RS_CHECKBM
if bookmark is invalid, don’t connect it
//如果书签不存在,不连接FTP。
RS_GHOST
use !username as login name
//用!username登陆 (即用户名前加!)
RS_INVERT
add or remove ‘ – ‘ from login password
//在密码前添加或移除’-'。
RS_PAIR
combine FTP name as pair
//将两个FTP配对。
RS_POPUP
to bring FTPRush on top
//前端显示FTPRush

Examples
//Connect to FTP1
RushApp.FTP.Login(‘FTP1′,”,0);
//连接到FTP1。

//Connect to FTP1 and FTP2
RushApp.FTP.Login(‘FTP1;FTP2′,”,0);
//同时连接到FTP1和FTP2。

//Connect to FTP1 and change to directory /pub/
RushApp.FTP.Login(‘FTP1′,’/pub/’,0);
//连接到FTP1并同时跳转到“/pub/”目录。

//connect to FTP1 and FTP2 and change to bookmark ‘public’
RushApp.FTP.Login(‘FTP1;FTP2′,’public’,RS_BOOKMARK);
//同时连接到FTP1和FTP2并跳转到书签“public”。

//connect to FTP1 and FTP2, if FTP2 have no bookmark named ‘public’, FTPRush will connect to FTP1 only
RushApp.FTP.Login(‘FTP1;FTP2′,’public’,RS_BOOKMARK or RS_CHECKBM);
//同时连接到FTP1和FTP2,并跳转到书签“public”,哪个FTP上不存在这个书签则断开。

//connect to FTP1 and FTP2 and FTP3 with pair format: ‘FTP1;FTP2′ and ‘FTP2:FTP3′
RushApp.FTP.Login(‘FTP1;FTP2;FTP3′,’public’,RS_BOOKMARK or RS_PAIR);
//连接到FTP1,FTP2,FTP3,同时FTP1和FTP2配对,FTP2和FTP3配对。

RushApp.FTP.RAW

Declare
procedureRAW(NameList: string; Param: string; Flag: Integer);

Description
Send raw command to all or specical connected/idle FTP Servers, if Param ANameList is empty string then send to all connected/idle FTP servers. this function will not send raw command to transfering connections.
//发送RAW命令到所有指定的FTP。如果Param和NameList这两个参数是空的则发送到所有空闲FTP。这个函数对在传输中的FTP无效。
Parameters
NameList
Specifies which FTP to send raw command, you can use a splitter to connect multiple FTP servers, if it’s empty then send to all connected idle FTP servers
//指定要发送RAW命令的FTP,多个FTP则用分隔符隔开,留空的话就发送命令到所有已连接的空闲FTP。

Param
Specifies a raw command to send
//定制要发送的RAW命令。

Flag
if you don’t use Flag, use zero instead of it
//如果不用这个参数就设为0吧。

RS_LOGIN
if no specifies FTP connected, then connect it first
//如果没有FTP处在连接状态,那么先登陆。

RS_LOGOUT
disconnect after executed raw command
//发送RAW命令后断开连接

RS_POPUP
to bring FTPRush on top
//前端显示FTPRush

RS_ONE
to only allow to execute command on one connected site even if there have 2+ same sites connected
//如果同一个站点有有两个或两个以上容器里连接了,那么只对一个执行RAW命令

Examples
//send ‘NOOP’ to all connected non-transfering connections
RushApp.FTP.RAW(”,’NOOP’,0);
//发送“NOOP”命令给所有没在传输的FTP。

//send ‘NOOP’ to all connected non-transfering connections then logout
RushApp.FTP.RAW(”,’NOOP’,RS_LOGOUT);
//发送“NOOP”命令给所有没在传输的FTP然后退出。

//connect to ‘FTP1′ and send ‘NOOP’
RushApp.FTP.RAW(‘FTP1′,’NOOP’,RS_LOGIN);
//给FTP1发送“NOOP”命令。

//connect to ‘FTP1′ and ‘FTP2′, send ‘NOOP’, then logout
RushApp.FTP.RAW(‘FTP1;FTP2′,’NOOP’,RS_LOGIN or RS_LOGOUT);
//给FTP1和FTP2发送“NOOP”命令,然后退出。

RushApp.FTP.Logout

Declare
procedure Logout(NameList: string; Flag: Integer);

Description
Disconnect from one or more FTP Servers, If Param ANameList is empty string, all idle FTP connections will be disconnected.
//断开一个或多个FTP的连接,如果NameList这个参数是空的,则断开所有空闲FTP的连接。
Parameters
NameList
Specifies which FTP to disconnect, you can use a splitter to connect multiple FTP servers, a empty string means disconnect from all active/idle FTP connections(non-transfering)
//定制哪个需要断开连接的FTP,多个FTP则用分隔符分开。留空则断开所有非传输状态的FTP。

Flag
if you don’t use Flag, use zero instead of it
//如果不用这个参数就设为0吧。

RS_ASYNC
when use this flag, FTPRush will do a disconnect action after command executed.
//执行命令后断开连接

Examples
//logout from all idle FTP connections
RushApp.FTP.Logout(”,0);
//断开所有空闲FTP。

//logout from connections which named ‘FTP1′
RushApp.FTP.Logout(‘FTP1′,0);
//断开与FTP1的连接。

//logout from connections which named ‘FTP1′ or ‘FTP2′
RushApp.FTP.Logout(‘FTP1;FTP2′,0);
//断开与FTP1和FTP2的连接。

//send command ‘NOOP’ to ‘FTP1′, after ‘NOOP’ be executed, then disconnect from ‘FTP1′
RushApp.FTP.Raw(‘FTP1′,’NOOP’,0);
RushApp.FTP.Logout(‘FTP1′,RS_ASYNC);
//先发送“NOOP”命令到FTP1,然后断开连接。

RushApp.FTP.RemoveQueue

Declare
procedureRemoveQueue(Source: string; Dest: string; Param: string;
Flag: Integer);

Description
Remove Queue items from Queue window.
//清除队列窗口的队列。
Parameters
Source
Specifies source FTP name or a empty string, use ‘local’ to specifies upload queue
//指定源FTP(此处可以为空),如果是上传队列则使用“local”。
Dest
Specifies dest FTP name or a empty string, use ‘local’ to specifies download queue
//指定目标FTP(此处可以为空),如果是下载队列则使用“local”。
Param
Specifies a condition for Queue dest path or dest filename/foldername, or a empty string
//指定移除队列的匹配条件,可以是路径,文件名和文件夹名,留空则匹配所有。
Flag
You must use at least one flag as below
//Flag这项至少要使用一个参数。
RS_TRANSFER
remove transfering queues
//清除传输队列。
RS_NORMAL
remove non-transfering queues
//清除非传输中的队列。
RS_FAIL
remove failed queues
//清除失败的队列。
RS_WAITING
remove waiting queues (with blue clock icon)
//清除等待中的队列。
RS_WILD
Param condition is wildcard
//告诉程序Param这个参数采用通配符了。
RS_EXPR
Param condition is regular expression
//告诉程序Param这个参数采用正则表达式了。
RS_FULLPATH
Use queue dest full path to match Param condition, otherwise only use queue dest name
//声明Param中匹配的是队列的目标路径,否则采用名字来匹配。
RS_CURRENT
remove queues from current window only
//只移除当前容器的队列。
RS_POPUP
to bring FTPRush on top
//前端显示FTPRush。

Examples
//Clear all queues from all window
RushApp.FTP.RemoveQueue(”,”,”,RS_TRANSFER or RS_NORMAL or RS_WAITING);
//清除所有容器的所有队列。

//Clear all queues from current window
RushApp.FTP.RemoveQueue(”,”,”,RS_TRANSFER or RS_NORMAL or RS_WAITING or RS_CURRENT);
//清除当前容器的所有队列。

//Remove all download queue
RushApp.FTP.RemoveQueue(”,’local’,”,RS_TRANSFER or RS_NORMAL or RS_WAITING or RS_CURRENT);
//清除所有的下载队列。

//Remove all upload queue
RushApp.FTP.RemoveQueue(‘local’,”,”,RS_TRANSFER or RS_NORMAL or RS_WAITING or RS_CURRENT);
//清除所有的上传队列。

//remove all failed queue items from all window
RushApp.FTP.RemoveQueue(”,”,”,RS_FAIL);
//清除所有容器的失败队列。

//remove all failed queue items from current window
RushApp.FTP.RemoveQueue(”,”,”,RS_FAIL or RS_CURRENT);
//清除当前容器的所有失败队列。

//remove all queues matchs ‘/public*’
RushApp.FTP.RemoveQueue(”,”,’/public*’,RS_TRANSFER or RS_NORMAL or RS_WAITING or RS_CURRENT or RS_WILD or RS_FULLPATH);
//清除所有路径中含“/public”的队列。

//remove all queues which file name matchs ‘*2004*’
RushApp.FTP.RemoveQueue(”,”,’*2004*’,RS_TRANSFER or RS_NORMAL or RS_WAITING or RS_CURRENT or RS_WILD);
//清除所有文件名中含“2004”的队列。

//remove all queues which dest name is ‘FTP1′
RushApp.FTP.RemoveQueue(”,’FTP1′,”,RS_TRANSFER or RS_NORMAL or RS_WAITING);
//清除所有以FTP1为目标FTP的队列。

//remove all queues which source name is ‘FTP1′
RushApp.FTP.RemoveQueue(‘FTP1′,”,”,RS_TRANSFER or RS_NORMAL or RS_WAITING);
//清除所有以FTP1为源目标的队列。
Add a comment

Nickname

Site URI

Email

Enable HTML Enable UBB Enable Emots Hidden Remember [Login] [Register]