Transfer

Top  Previous  Next

RushApp.FTP.Transfer

 

Declare

procedure Transfer(

 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;

);

 

Description

Transfer Queue , support upload download and 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.

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

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

DesFolder

same as SrcFolder

DesItem

same as SrcItem

Flag

If you don't use Flag, use zero instead of it.

 

RS_FILE

tell FTP Rush this queue is a file, without this flag this queue is a folder

 

RS_UP

tell FTP Rush this queue is upload mode, without this flag this queue is FXP mode

 

RS_DOWN

tell FTP Rush this queue is download mode, without this flag this queue is FXP mode

 

RS_DIRSRC

specifies SrcFolder is a folder, without this flag, SrcFolder is a bookmark

 

RS_DIRDES

specifies DesFolder is a folder, without this flag, DesFolder is a bookmark

 

RS_NOSKIP

tell FTP Rush do not use skiplist to filter DesItem and DesItem

 

RS_APPEND

tell FTP Rush combines all queue items at ONE window, otherwise, every queue item running at a NEW window.

 

RS_EXPR

if includes this flag, FolderAllow, FolderSkip, FileAllow, FileSkip match Perl Expressions, otherwise match wildcard

 

RS_LOGOUT

disconnected from server after queue transferred

 

RS_GHOST

use !username as login name

 

RS_INVERT

add or remove ' - ' from login password

 

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, FTP Rush auto select a container which have the same transfer (src/dest) and append it

 

RS_POPUP

to bring FTP Rush on top

 

RS_DELEMPTYTABS

close empty containers automatically

 

RS_NOMKD

when transferring folders with sub dirs, FTP Rush will not create the sub dirs in dest FTP if sub dirs exists in dest FTP(just do 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

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*

FolderSort

define sort method for sub folders, set it to zero to use default sort method (sort by name ascending)

 

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)

 

RS_SORTDES

specifies sort sorting as descending

 

RS_SORTDATE

specifies sort by date

 

RS_SORTSIZE

specifies sort by size

Depth

depth of sub folders

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

 

 

 

 

 

 

 

 

Examples

//upload a file to FTP1 and logout

RushApp.FTP.Transfer(0, '', 'c:\temp', 'file1.jpg', 'FTP1', '/pictures', 'file1.jpg', RS_UP or RS_FILE or RS_DIRDES or RS_DIRSRC or RS_LOGOUT, '', '', '', '', '', 0, 0, 0, 0, 0, 0, 0);

 

//download a folder from FTP1 and logout

RushApp.FTP.Transfer(0, 'FTP1', '/pictures', '', '', 'c:\temp\test', '', RS_DOWN or RS_DIRDES or RS_DIRSRC or RS_LOGOUT, '', '', '', '', '', 0, 0, 0, 0, 0, 0, 0);

 

//FXP a file from FTP1 to FTP2

RushApp.FTP.Transfer(0, 'FTP1', '/pictures', 'file1.jpg', 'FTP2', '/test', 'file2.jpg', RS_FILE or RS_DIRDES or RS_DIRSRC, '', '', '', '', '', 0, 0, 0, 0, 0, 0, 0);

 

//FXP a folder from FTP1 to FTP2

RushApp.FTP.Transfer(0, 'FTP1', '/pictures', '', 'FTP2', '/test', '', RS_DIRDES or RS_DIRSRC, '', '', '', '', '', 0, 0, 0, 0, 0, 0, 0);

 

//FXP a folder from FTP1 to FTP2 with latest file or folder only

RushApp.FTP.Transfer(0, 'FTP1', '/pictures', '', 'FTP2', '/test', '', RS_DIRDES or RS_DIRSRC, '', '', '', '', '', 0, 0, 0, RS_SORTDATE or RS_SORTDES, 0, 0, 1);

 

//FXP a folder from FTP1 to FTP2 and FXP same folder from FTP1 to FTP3 at sametime

RushApp.FTP.Transfer(0, 'FTP1', '/pictures', '', 'FTP2;FTP3', '/test', '', RS_DIRDES or RS_DIRSRC, '', '', '', '', '', 0, 0, 0, 0, 0, 0, 0);

 

//FXP a folder from FTP1 to FTP2 then FXP same folder from FTP1 to FTP3

RushApp.FTP.Transfer(0, 'FTP1', '/pictures', '', 'FTP2;FTP3', '/test', '', RS_DIRDES or RS_DIRSRC or RS_APPEND, '', '', '', '', '', 0, 0, 0, 0, 0, 0, 0);

 

//FXP a folder(inside bookmark 'pub') from FTP1 to FTP2 and FTP2 to FTP3 at same time

RushApp.FTP.Transfer(0, '', '', '', 'FTP1;FTP2;FTP3', 'pub', 'pictures', 0, '', '', '', '', '', 0, 0, 0, 0, 0, 0, 0);

 

//FXP a folder(inside bookmark 'pub') from FTP1 to FTP2(at window 3) and FTP2 to FTP3(at window 4) at same time

RushApp.FTP.Transfer(3, '', '', '', 'FTP1;FTP2;FTP3', 'pub', 'pictures', 0, '', '', '', '', '', 0, 0, 0, 0, 0, 0, 0);

 

//FXP a folder from FTP1 to FTP2 then FXP same folder from FTP1 to FTP3, and close empty tabs

RushApp.FTP.Transfer(0, 'FTP1', '/pictures', '', 'FTP2;FTP3', '/test', '', RS_DIRDES or RS_DIRSRC or RS_APPEND or RS_DELEMPTYTABS, '', '', '', '', '', 0, 0, 0, 0, 0, 0, 0);