Tcl
Tcl
SCP Download Files Matching a Pattern, such as *.txt
See more SCP Examples
Demonstrates how to SCP download files matching a pattern, such as *.txt.Chilkat Tcl Downloads
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 ssh [new_CkSsh]
# Connect to an SSH server:
set hostname "MY-SSH-SERVER-DOMAIN-OR-IP"
set port 22
set success [CkSsh_Connect $ssh $hostname $port]
if {$success != 1} then {
puts [CkSsh_lastErrorText $ssh]
delete_CkSsh $ssh
exit
}
# Wait a max of 5 seconds when reading responses..
CkSsh_put_IdleTimeoutMs $ssh 5000
# Authenticate using login/password:
set success [CkSsh_AuthenticatePw $ssh "MY-SSH-LOGIN" "MY-SSH-PASSWORD"]
if {$success != 1} then {
puts [CkSsh_lastErrorText $ssh]
delete_CkSsh $ssh
exit
}
# Once the SSH object is connected and authenticated, use it
# in the SCP object.
set scp [new_CkScp]
set success [CkScp_UseSsh $scp $ssh]
if {$success != 1} then {
puts [CkScp_lastErrorText $scp]
delete_CkSsh $ssh
delete_CkScp $scp
exit
}
CkScp_put_HeartbeatMs $scp 200
# Set the SyncMustMatch property to "*.pem" to download only .pem files
CkScp_put_SyncMustMatch $scp "*.pem"
set remoteDir "qa_syncA"
set localDir "c:/aaworkarea/scp/qa_syncA"
# Download synchronization modes:
# mode=0: Download all files
# mode=1: Download all files that do not exist on the local filesystem.
# mode=2: Download newer or non-existant files.
# mode=3: Download only newer files.
# If a file does not already exist on the local filesystem, it is not downloaded from the server.
# mode=5: Download only missing files or files with size differences.
# mode=6: Same as mode 5, but also download newer files.
set mode 0
# Do not recurse the remote directory tree. Only download files matching *.pem
# from the given remote directory.
set bRecurse 0
set success [CkScp_SyncTreeDownload $scp $remoteDir $localDir $mode $bRecurse]
if {$success != 1} then {
puts [CkScp_lastErrorText $scp]
delete_CkSsh $ssh
delete_CkScp $scp
exit
}
puts "SCP download matching success."
# Disconnect
CkSsh_Disconnect $ssh
delete_CkSsh $ssh
delete_CkScp $scp