ftp パッケージftp::Open
を使用すると、コマンドで進行状況モニターのコールバックを指定できます。
package require ftp
proc progressMessage {bytesSoFar} {
puts "Transferred $bytesSoFar; looking good..."
}
set handle [ftp::Open $A $user $pass -progress progressMessage]
# Everything after this is just standard for the ftp package
if {$handle < 0} {
error "could not connect"
}
if {![ftp::Get $handle $remoteFile $localFile]} {
ftp::Close $handle
error "could not transfer"
}
ftp::Close $handle
puts "Transfer completed"
これにより、チャンクが転送されるたびにメッセージが出力されます (チャンク サイズは、オプションをftp::Open
介して-blocksize
オプションで構成できます。デフォルトでは 4096 です)。最新のネットワークでは、これはおそらく非常に高速にメッセージを書き込みます…</p>