Sample code for 30+ languages & platforms
PowerShell

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

PowerShell
Add-Type -Path "C:\chilkat\ChilkatDotNet47-x64\ChilkatDotNet47.dll"

$success = $false

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

$ftp = New-Object 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 -ne $true) {
    $($ftp.LastErrorText)
    exit
}

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

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

$n = $ftp.GetDirCount()
if ($n -lt 0) {
    $($ftp.LastErrorText)
    exit
}

if ($n -gt 0) {
    for ($i = 0; $i -le $n - 1; $i++) {

        # Display the filename
        $($ftp.GetFilename($i))

        # Display the file size (in bytes)
        $($ftp.GetSize($i))

        # Is this a sub-directory?
        if ($ftp.GetIsDirectory($i) -eq $true) {
            $(".. this is a sub-directory")
        }

        $("--")
    }

}

$("-----------------------------------")

# Only files and directories
# matching the ListPattern are returned.
$ftp.ListPattern = "*.asp"
$n = $ftp.GetDirCount()
if ($n -lt 0) {
    $($ftp.LastErrorText)
    exit
}

if ($n -gt 0) {
    for ($i = 0; $i -le $n - 1; $i++) {

        # Display the filename
        $($ftp.GetFilename($i))

        # Display the file size (in bytes)
        $($ftp.GetSize($i))

        $("--")
    }

}

$success = $ftp.Disconnect()