Version 4 of ftp

Updated 2002-05-03 14:04:20

Standard documentation appears at http://tcllib.sourceforge.net/doc/ftp.html .

Related pages:


Here's an example implementation of a "deep" listing, which recurses into subdirectories:

    proc deep_list {host user pass dir} {
        set handle [::ftp::Open $host $user $pass]
        set result [deep_list_i $handle $dir]
        ::ftp::Close $handle
        return $result
    }


    proc deep_list_i {handle directory} {
        set result {}
        set original [::ftp::Pwd $handle]
        foreach item [::ftp::NList $handle $directory] {
            # lappend result $item    }
            # continue
            if {([catch {::ftp::Cd $handle $item} ret_val]) || !$ret_val} {
                lappend result $item
            } else {
                ::ftp::Cd $handle $original
                set result [concat $result [deep_list_i $handle $item]]
            }
        }
        return $result

Use this as

    set list_of_files [deep_list $host $user $pass $directory]











































































































Category Package (sub-package of Tcllib)