Sample code for 30+ languages & platforms
VBScript

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

VBScript
Dim fso, outFile
Set fso = CreateObject("Scripting.FileSystemObject")
'Create a Unicode (utf-16) output text file.
Set outFile = fso.CreateTextFile("output.txt", True, True)

success = 0

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

set ftp = CreateObject("Chilkat.Ftp2")

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

' Connect and login to the FTP server.
success = ftp.Connect()
If (success <> 1) Then
    outFile.WriteLine(ftp.LastErrorText)
    WScript.Quit
End If

' The ListPattern property is our directory listing filter.
' The default value is "*", which includes everything.
outFile.WriteLine(ftp.ListPattern)

' To get file and sub-directory information, simply
' loop from 0 to ftp.GetDirCount() - 1

n = ftp.GetDirCount()
If (n < 0) Then
    outFile.WriteLine(ftp.LastErrorText)
    WScript.Quit
End If

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

        ' Display the filename
        outFile.WriteLine(ftp.GetFilename(i))

        ' Display the file size (in bytes)
        outFile.WriteLine(ftp.GetSize(i))

        ' Is this a sub-directory?
        If (ftp.GetIsDirectory(i) = 1) Then
            outFile.WriteLine(".. this is a sub-directory")
        End If

        outFile.WriteLine("--")
    Next
End If

outFile.WriteLine("-----------------------------------")

' Only files and directories
' matching the ListPattern are returned.
ftp.ListPattern = "*.asp"
n = ftp.GetDirCount()
If (n < 0) Then
    outFile.WriteLine(ftp.LastErrorText)
    WScript.Quit
End If

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

        ' Display the filename
        outFile.WriteLine(ftp.GetFilename(i))

        ' Display the file size (in bytes)
        outFile.WriteLine(ftp.GetSize(i))

        outFile.WriteLine("--")
    Next
End If

success = ftp.Disconnect()

outFile.Close