Post a reply

Add an Attachment

If you do not want to add an Attachment to your Post, please leave the Fields blank.

(maximum 10 MB; please compress large files; only common media, archive, text and programming file formats are allowed)


Topic review


Downloading newest file and deleting older files scripting

Good evening,
new member here.
I have a question;
My weather-camera is uploading every hour a new .jpg file to my FTP server. My directory is filling up with a lot of files. I want a script for Powershell to send the latest file to my local PC directory and the old files been deleted from the ftp server.
I found a script that is partially solving the problem.
It does NOT (yet):
- delete the files older then 2 hours ago.
- download the newest file.
What can I do? I do not find a solution.
Who can help me?
Here is the working script so far. Martin wrote it in 2016.Thanks in advance

# Load WinSCP .NET assembly
Add-Type -Path "C:\Program Files (x86)\WinSCP\WinSCPnet.dll"
# Setup session options
$sessionOptions = New-Object WinSCP.SessionOptions -Property @{
    Protocol = [WinSCP.Protocol]::Ftp
    HostName = "xxxxxx"
    UserName = "xxxxxx"
    Password = "xxxxxx"
    # Connect
    $session = New-Object WinSCP.Session
    # List files
    $remotePath = "/public_html/Weercam/FI9853EP_00626EA2E6A9/snap"
    $directoryInfo = $session.ListDirectory($remotePath)
    # Find old files
    $limit = (Get-Date).AddDays(-1)
    $oldFiles =
        $directoryInfo.Files |
        Where-Object { -Not $_.IsDirectory } |
        Where-Object { $_.LastWriteTime -lt $limit }
    # Delete them
    foreach ($oldFileInfo in $oldFiles)
        $oldFilePath =
            [WinSCP.RemotePath]::EscapeFileMask($remotePath + "/" + $oldFileInfo.Name)
    Write-Host "Done"
    # Disconnect, clean up