AutoIt
AutoIt
SFTP Get File Date/Times in Different Formats
See more SFTP Examples
Demonstrates how to get remote file date/times in different formats.Chilkat AutoIt Downloads
Local $bSuccess = False
; This requires the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
$oSftp = ObjCreate("Chilkat.SFtp")
; Connect to the SSH server.
Local $sHostname = "my-sftp-server.com"
Local $iPort = 22
$bSuccess = $oSftp.Connect($sHostname,$iPort)
If ($bSuccess = False) Then
ConsoleWrite($oSftp.LastErrorText & @CRLF)
Exit
EndIf
; Authenticate with the SSH server.
$bSuccess = $oSftp.AuthenticatePw("myLogin","myPassword")
If ($bSuccess = False) Then
ConsoleWrite($oSftp.LastErrorText & @CRLF)
Exit
EndIf
; After authenticating, the SFTP subsystem must be initialized:
$bSuccess = $oSftp.InitializeSftp()
If ($bSuccess = False) Then
ConsoleWrite($oSftp.LastErrorText & @CRLF)
Exit
EndIf
; Open a directory on the server...
; This example opens the "junk" directory located under the HOME directory of the SSH user account.
Local $sHandle = $oSftp.OpenDir("junk")
If ($oSftp.LastMethodSuccess = False) Then
ConsoleWrite($oSftp.LastErrorText & @CRLF)
Exit
EndIf
; Download the directory listing:
$oDirListing = ObjCreate("Chilkat.SFtpDir")
$bSuccess = $oSftp.ReadDirListing($sHandle,$oDirListing)
If ($bSuccess = False) Then
ConsoleWrite($oSftp.LastErrorText & @CRLF)
Exit
EndIf
; Close the directory handle
$bSuccess = $oSftp.CloseHandle($sHandle)
If ($bSuccess = False) Then
ConsoleWrite($oSftp.LastErrorText & @CRLF)
Exit
EndIf
; Iterate over the files.
; Examine each filename and indicate those that match *FICHERO*.pdf
; (i.e. the filename contains the word "FICHERO" and ends in ".pdf")
$oFileObj = ObjCreate("Chilkat.SFtpFile")
$oSbFilename = ObjCreate("Chilkat.StringBuilder")
Local $bCaseSensitive = False
Local $bLocalDateTime = False
$oDt = ObjCreate("Chilkat.CkDateTime")
Local $i = 0
Local $iN = $oDirListing.NumFilesAndDirs
While $i < $iN
$bSuccess = $oDirListing.FileAt($i,$oFileObj)
If ($bSuccess = False) Then
ConsoleWrite($oDirListing.LastErrorText & @CRLF)
Exit
EndIf
ConsoleWrite($oFileObj.Filename & @CRLF)
; Get the last-modified date/time
$oDt.SetFromRfc822($oFileObj.LastModifiedTimeStr)
; Get the date/time in other formats offered by the CkDateTime object.
; such as Wed, 18 Oct 2017 09:08:21 GMT
ConsoleWrite("RFC822 format: " & $oDt.GetAsRfc822($bLocalDateTime) & @CRLF)
; such as 1990-12-31T23:59:60Z
ConsoleWrite("Timestamp: " & $oDt.GetAsTimestamp($bLocalDateTime) & @CRLF)
; Such as: "02/16/2008 12:15:12" where hour is 0 to 23.
ConsoleWrite("RFC822 format: " & $oDt.GetAsIso8601("MM/DD/YYYY hh:mm:ss",$bLocalDateTime) & @CRLF)
$i = $i + 1
Wend
ConsoleWrite("Success." & @CRLF)