Sample code for 30+ languages & platforms
Tcl

Get Number of FIles in Directory, not including sub-directories

See more FTP Examples

_LANGUAGE_ example demonstrating how to get the number of files in a directory not including sub-directories.

Chilkat Tcl Downloads

Tcl

load ./chilkat.dll

set success 0

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

set ftp [new_CkFtp2]

CkFtp2_put_Hostname $ftp "ftp.example.com"
CkFtp2_put_Username $ftp "login"
CkFtp2_put_Password $ftp "password"

# Connect and login to the FTP server.
set success [CkFtp2_Connect $ftp]
if {$success != 1} then {
    puts [CkFtp2_lastErrorText $ftp]
    delete_CkFtp2 $ftp
    exit
}

# The ListPattern property is our directory listing filter.
# The default value is "*", which includes everything.
puts [CkFtp2_listPattern $ftp]

# Fetch the current remote directory contents by
# calling GetDirCount

set n [CkFtp2_GetDirCount $ftp]
if {$n < 0} then {
    puts [CkFtp2_lastErrorText $ftp]
    delete_CkFtp2 $ftp
    exit
}

if {$n > 0} then {
    # Loop over the directory contents, incrementing the count
    # each time it is NOT a directory.
    set fileCount 0
    for {set i 0} {$i <= [expr $n - 1]} {incr i} {

        # Is this NOT a sub-directory?
        if {[CkFtp2_GetIsDirectory $ftp $i] != 1} then {
            set fileCount [expr $fileCount + 1]
            # Display the filename
            puts [CkFtp2_getFilename $ftp $i]
        }

    }

    puts "Total number of files = $fileCount"
}

set success [CkFtp2_Disconnect $ftp]

delete_CkFtp2 $ftp