Differences

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

2017-10-03 2017-10-03
using variable expansion in strings in powershell (martin) code wrapping for new design (martin)
Line 25: Line 25:
                UserName = "user",                 UserName = "user",
                Password = "mypassword",                 Password = "mypassword",
-                SshHostKeyFingerprint = "ssh-rsa 2048 xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx"+                SshHostKeyFingerprint = "ssh-rsa 2048 xx:xx:xx:xx:xx:xx:xx:xx..."
            };             };
Line 42: Line 42:
                Console.WriteLine("Starting files enumeration...");                 Console.WriteLine("Starting files enumeration...");
-                IEnumerable<RemoteFileInfo> files = session.EnumerateRemoteFiles(remotePath, null, EnumerationOptions.AllDirectories);+                IEnumerable<RemoteFileInfo> files = 
 + ···················session.EnumerateRemoteFiles( 
 +························remotePath, null, EnumerationOptions.AllDirectories);
                IEnumerator<RemoteFileInfo> filesEnumerator = files.GetEnumerator();                 IEnumerator<RemoteFileInfo> filesEnumerator = files.GetEnumerator();
Line 74: Line 76:
                                    }                                     }
-                                    string localFilePath = session.TranslateRemotePathToLocal(remoteFilePath, remotePath, localPath); +                                    string localFilePath = 
-                                    Console.WriteLine("Downloading {0} to {1} in {2}...", remoteFilePath, localFilePath, no); + ·······································session.TranslateRemotePathToLocal( 
-                                    Directory.CreateDirectory(Path.GetDirectoryName(localFilePath)); +············································remoteFilePath, remotePath, localPath); 
-                                    downloadSession.GetFiles(session.EscapeFileMask(remoteFilePath), localFilePath).Check();+                                    Console.WriteLine( 
 +········································"Downloading {0} to {1} in {2}...", 
 + ·······································remoteFilePath, localFilePath, no); 
 +                                    Directory.CreateDirectory( 
 +········································Path.GetDirectoryName(localFilePath)); 
 +                                    downloadSession.GetFiles( 
 +········································session.EscapeFileMask(remoteFilePath), localFilePath). 
 +········································Check();
                                }                                 }
Line 153: Line 162:
        $batch = [int]($total / $batches)         $batch = [int]($total / $batches)
-        Write-Host "Will download $($files.Count) files totaling $total bytes in $batches parallel batches, $batch bytes on average in each"+        Write-Host
 +············"Will download $($files.Count) files totaling $total bytes in " + 
 +            "$batches parallel batches, $batch bytes on average in each")
               
        $start = 0         $start = 0
Line 171: Line 182:
                               
                # Start the background job for the batch                 # Start the background job for the batch
-                Start-Job -Name "Batch $no" -ArgumentList $dllPath, $sessionUrl, $remotePath, $localPath, $no, $fileList {+                Start-Job -Name "Batch $no"
 +····················-ArgumentList $dllPath, $sessionUrl, $remotePath, $localPath, $no, $fileList {
                    param (                     param (
                        [Parameter(Position = 0)]                         [Parameter(Position = 0)]
Line 192: Line 204:
                        # Load WinSCP .NET assembly.                         # Load WinSCP .NET assembly.
-                        # Need to use an absolute path as the Job is started from user's documents folder.+                        # Need to use an absolute path as the Job is started 
 +                        # from user's documents folder.
                        Add-Type -Path $dllPath                         Add-Type -Path $dllPath
Line 215: Line 228:
                                Write-Host "Downloading $remoteFilePath to $localFilePath in $no"                                 Write-Host "Downloading $remoteFilePath to $localFilePath in $no"
-                                $session.GetFiles($session.EscapeFileMask($remoteFilePath), $localFilePath).Check()+                                $session.GetFiles( 
 +····································$session.EscapeFileMask($remoteFilePath), $localFilePath). 
 +····································Check()
                            }                             }
                        }                         }

Last modified: by martin