Lianja
Lianja
FTP Iterate over Files in Directory Matching ListPattern
See more RSA Examples
Uses the ListPattern property to iterate over the files in a directory matching the pattern.Chilkat Lianja Downloads
llSuccess = .F.
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
loFtp = createobject("CkFtp2")
loFtp.Hostname = "ftp.example.com"
loFtp.Username = "my_login"
loFtp.Password = "my_password"
loFtp.Port = 21
loFtp.AuthTls = .T.
llSuccess = loFtp.Connect()
if (llSuccess <> .T.) then
? loFtp.LastErrorText
release loFtp
return
endif
// Change to the "images" sub-directory located under our FTP account's home directory.
llSuccess = loFtp.ChangeRemoteDir("images")
if (llSuccess <> .T.) then
? loFtp.LastErrorText
release loFtp
return
endif
loFtp.ListPattern = "*.png"
// Fetch the current remote directory contents by calling GetDirCount
n = loFtp.GetDirCount()
if (n < 0) then
? loFtp.LastErrorText
release loFtp
return
endif
i = 0
loSbLocalPath = createobject("CkStringBuilder")
do while i < n
lcFilename = loFtp.GetFilename(i)
? lcFilename
// Download this file.
loSbLocalPath.SetString("qa_output/")
loSbLocalPath.Append(lcFilename)
llSuccess = loFtp.GetFile(lcFilename,loSbLocalPath.GetAsString())
if (llSuccess <> .T.) then
? loFtp.LastErrorText
release loFtp
release loSbLocalPath
return
endif
i = i + 1
enddo
release loFtp
release loSbLocalPath