Sample code for 30+ languages & platforms
B4X

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 B4X Downloads

B4X
Dim success As Boolean = False

'  This example requires the Chilkat API to have been previously unlocked.
'  See Global Unlock Sample for sample code.

Dim ftp As ChilkatFtp2
ftp.Initialize("ftp")

ftp.Hostname = "ftp.example.com"
ftp.Username = "my_login"
ftp.Password = "my_password"
ftp.Port = 21
ftp.AuthTls = True

success = ftp.Connect
If success <> True Then
    Log(ftp.LastErrorText)
    Return
End If


'  Change to the "images" sub-directory located under our FTP account's home directory.
success = ftp.ChangeRemoteDir("images")
If success <> True Then
    Log(ftp.LastErrorText)
    Return
End If


ftp.ListPattern = "*.png"

'  Fetch the current remote directory contents by calling GetDirCount
Dim n As Int = ftp.GetDirCount
If n < 0 Then
    Log(ftp.LastErrorText)
    Return
End If


Dim i As Int = 0
Dim filename As String
Dim sbLocalPath As ChilkatStringBuilder
sbLocalPath.Initialize

Do While i < n
    filename = ftp.GetFilename(i)
    Log(filename)

    '  Download this file.
    sbLocalPath.SetString("qa_output/")
    sbLocalPath.Append(filename)
    success = ftp.GetFile(filename, sbLocalPath.GetAsString)
    If success <> True Then
        Log(ftp.LastErrorText)
        Return
    End If


    i = i + 1
Loop