Sample code for 30+ languages & platforms
AutoIt

Get FTP Directory Listing Information

See more FTP Examples

_LANGUAGE_ example showing how to get information about files and subdirectories in the current remote FTP directory.

Chilkat AutoIt Downloads

AutoIt
Local $bSuccess = False

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

$oFtp = ObjCreate("Chilkat.Ftp2")

$oFtp.Hostname = "ftp.example.com"
$oFtp.Username = "login"
$oFtp.Password = "password"

; Connect and login to the FTP server.
$bSuccess = $oFtp.Connect()
If ($bSuccess <> True) Then
    ConsoleWrite($oFtp.LastErrorText & @CRLF)
    Exit
EndIf

; The ListPattern property is our directory listing filter.
; The default value is "*", which includes everything.
ConsoleWrite($oFtp.ListPattern & @CRLF)

; To get file and sub-directory information, simply
; loop from 0 to ftp.GetDirCount() - 1
Local $i
Local $iN
$iN = $oFtp.GetDirCount()
If ($iN < 0) Then
    ConsoleWrite($oFtp.LastErrorText & @CRLF)
    Exit
EndIf

If ($iN > 0) Then
    For $i = 0 To $iN - 1

        ; Display the filename
        ConsoleWrite($oFtp.GetFilename($i) & @CRLF)

        ; Display the file size (in bytes)
        ConsoleWrite($oFtp.GetSize($i) & @CRLF)

        ; Is this a sub-directory?
        If ($oFtp.GetIsDirectory($i) = True) Then
            ConsoleWrite(".. this is a sub-directory" & @CRLF)
        EndIf

        ConsoleWrite("--" & @CRLF)
    Next
EndIf

ConsoleWrite("-----------------------------------" & @CRLF)

; Only files and directories
; matching the ListPattern are returned.
$oFtp.ListPattern = "*.asp"
$iN = $oFtp.GetDirCount()
If ($iN < 0) Then
    ConsoleWrite($oFtp.LastErrorText & @CRLF)
    Exit
EndIf

If ($iN > 0) Then
    For $i = 0 To $iN - 1

        ; Display the filename
        ConsoleWrite($oFtp.GetFilename($i) & @CRLF)

        ; Display the file size (in bytes)
        ConsoleWrite($oFtp.GetSize($i) & @CRLF)

        ConsoleWrite("--" & @CRLF)
    Next
EndIf

$bSuccess = $oFtp.Disconnect()