SFTP stands for ssh file transfer protocol [L1 ]. When encountering the term sftp, one may in fact see references to two different things:
A vfs module for the ssh file transfer protocol would be extremely cool.
While there's a widespread belief that Expect is essentially necessary for effective automation of sftp (first sense), this is not true. Several distinct approaches exist [L2 ] [L3 ] [L4 ] ... [explain] OTOH, most of these seem to be alternative SFTP clients with built-in automation support, so for use from within Tcl the most portable solution may well be to use Expect (or sftp in batch mode, if that is sufficient).