PowerShell
PowerShell
SFTP Get File Date/Times in Different Formats
See more SFTP Examples
Demonstrates how to get remote file date/times in different formats.Chilkat PowerShell Downloads
Add-Type -Path "C:\chilkat\ChilkatDotNet47-x64\ChilkatDotNet47.dll"
$success = $false
# This requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
$sftp = New-Object Chilkat.SFtp
# Connect to the SSH server.
$hostname = "my-sftp-server.com"
$port = 22
$success = $sftp.Connect($hostname,$port)
if ($success -eq $false) {
$($sftp.LastErrorText)
exit
}
# Authenticate with the SSH server.
$success = $sftp.AuthenticatePw("myLogin","myPassword")
if ($success -eq $false) {
$($sftp.LastErrorText)
exit
}
# After authenticating, the SFTP subsystem must be initialized:
$success = $sftp.InitializeSftp()
if ($success -eq $false) {
$($sftp.LastErrorText)
exit
}
# Open a directory on the server...
# This example opens the "junk" directory located under the HOME directory of the SSH user account.
$handle = $sftp.OpenDir("junk")
if ($sftp.LastMethodSuccess -eq $false) {
$($sftp.LastErrorText)
exit
}
# Download the directory listing:
$dirListing = New-Object Chilkat.SFtpDir
$success = $sftp.ReadDirListing($handle,$dirListing)
if ($success -eq $false) {
$($sftp.LastErrorText)
exit
}
# Close the directory handle
$success = $sftp.CloseHandle($handle)
if ($success -eq $false) {
$($sftp.LastErrorText)
exit
}
# 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")
$fileObj = New-Object Chilkat.SFtpFile
$sbFilename = New-Object Chilkat.StringBuilder
$caseSensitive = $false
$bLocalDateTime = $false
$dt = New-Object Chilkat.CkDateTime
$i = 0
$n = $dirListing.NumFilesAndDirs
while ($i -lt $n) {
$success = $dirListing.FileAt($i,$fileObj)
if ($success -eq $false) {
$($dirListing.LastErrorText)
exit
}
$($fileObj.Filename)
# Get the last-modified date/time
$dt.SetFromRfc822($fileObj.LastModifiedTimeStr)
# Get the date/time in other formats offered by the CkDateTime object.
# such as Wed, 18 Oct 2017 09:08:21 GMT
$("RFC822 format: " + $dt.GetAsRfc822($bLocalDateTime))
# such as 1990-12-31T23:59:60Z
$("Timestamp: " + $dt.GetAsTimestamp($bLocalDateTime))
# Such as: "02/16/2008 12:15:12" where hour is 0 to 23.
$("RFC822 format: " + $dt.GetAsIso8601("MM/DD/YYYY hh:mm:ss",$bLocalDateTime))
$i = $i + 1
}
$("Success.")