Differences

This shows you the differences between the selected revisions of the page.

2016-03-07 2016-03-07
correcting method name and syntax highlighting (martin) simplifying PowerShell example (martin)
Line 174: Line 174:
        $session.Open($sessionOptions)         $session.Open($sessionOptions)
-        $stamp = Get-Date -f "yyyyMMdd" +        # Download files 
-        $fileName = "export_$stamp.txt" +········$transferOptions = New-Object WinSCP.TransferOptions 
-        $remotePath = "/home/user/sysbatch/$fileName" +        $transferOptions.TransferMode = [WinSCP.TransferMode]::Binary 
-        $localPath = "d:\backup\$fileName" +· 
- +        $transferResult = $session.GetFiles("/home/user/*", "d:\download\", $False, $transferOptions) 
- ·······# Manual "remote to local" synchronization. +  
- +        # Throw on any error 
-       # You can achieve the same using: +        $transferResult.Check() 
-        # $transferOptions = New-Object WinSCP.TransferOptions +  
-        # $transferOptions.FileMask = $fileName +        # Print results 
-        # $session.SynchronizeDirectories( +        foreach ($transfer in $transferResult.Transfers)
-       #    [WinSCP.SynchronizationMode]::Local, $localPath, $remotePath, +
-        #     $False, $False, [WinSCP.SynchronizationCriteria]::Time,  +
-        # ····$transferOptions).Check() +
-       if ($session.FileExists($remotePath))+
        {         {
-            if (!(Test-Path $localPath)) +            Write-Host ("Download of {0} succeeded" -f $transfer.FileName)
-            { +
-················Write-Host ( +
-····················"File {0} exists, local backup {1} does not" -f +
-                    $remotePath, $localPath) +
-                $download = $True +
-            } +
-            else +
-            { +
-                $remoteWriteTime = $session.GetFileInfo($remotePath).LastWriteTime +
-                $localWriteTime = (Get-Item $localPath).LastWriteTime +
- +
-                if ($remoteWriteTime -gt $localWriteTime) +
-                { +
-                    Write-Host ( +
-                        ("File {0} as well as local backup {1} exist, "+
-                        "but remote file is newer ({2}) than local backup ({3})") -f +
- ·······················$remotePath, $localPath, $remoteWriteTime, $localWriteTime) +
-                    $download = $True +
-                } +
-                else +
-                { +
-                    Write-Host ( +
-                        ("File {0} as well as local backup {1} exist, " + +
-                        "but remote file is not newer ({2}) than local backup ({3})") -f +
-                        $remotePath, $localPath, $remoteWriteTime, $localWriteTime) +
-                    $download = $False +
-                } +
-            } +
- +
-            if ($download) +
-            { +
-                # Download the file and throw on any error +
-                $session.GetFiles($remotePath, $localPath).Check() +
- +
-                Write-Host "Download to backup done." +
-            } +
-        } +
-        else +
-        { +
-            Write-Host ("File {0} does not exist yet" -f $remotePath)+
        }         }
    }     }

Last modified: by martin