Find Jobs
Hire Freelancers

Console App With Renci.SSH

$10-30 USD

Closed
Posted over 5 years ago

$10-30 USD

Paid on delivery
Good day all - I have a C# console application that connects via [login to view URL] to a Unix server and downloads the files from the Unix Server. The issue I face is that when the directory on the Unix Server contains a folder, my code errors out. What I want... I need the below code to be updated to download 1) All files in the parent directory (already does this) 2) All folders and sub-folders (including any files) -- I NEED THIS Below is my current syntax: private static void DownloadFile(string arc, string username, string password) { string fullpath; string fp; var options = new ProgressBarOptions { ProgressCharacter = '.', ProgressBarOnBottom = true }; using (var sftp = new SftpClient(Host, username, password)) { [login to view URL](); fp = RemoteDir + "/" + arc; if ([login to view URL](fp)) fullpath = fp; else fullpath = SecondaryRemoteDir + d + "/" + arc; if ([login to view URL](fullpath)) { var files = [login to view URL](fullpath); foreach (var file in files) { if ([login to view URL]().Substring(0, 1) != ".") { [login to view URL]("Downloading file from the server..."); [login to view URL](); using (var pbar = new ProgressBar(100, "Downloading " + [login to view URL] + "....", options)) { SftpFileAttributes att = [login to view URL](fullpath + "/" + [login to view URL]); var fileSize = [login to view URL]; var ms = new MemoryStream(); IAsyncResult asyncr = [login to view URL](fullpath + "/" + [login to view URL], ms); SftpDownloadAsyncResult sftpAsyncr = (SftpDownloadAsyncResult)asyncr; int lastpct = 0; while (![login to view URL]) { int pct = (int)((long)[login to view URL] / fileSize) * 100; if (pct > lastpct) for (int i = 1; i < pct - lastpct; i++) [login to view URL](); } [login to view URL](asyncr); [login to view URL]("Writing File to disk..."); [login to view URL](); string localFilePath = "C:\" + [login to view URL]; var fs = new FileStream(localFilePath, [login to view URL], [login to view URL]); [login to view URL](fs); [login to view URL](); [login to view URL](); } } } } else { [login to view URL]("The arc " + arc + " with a date of " + d + " does not exist at either location of 1) " + RemoteDir + " or 2) " + SecondaryRemoteDir); [login to view URL](); [login to view URL]("Please press any key to close this window"); [login to view URL](); } } }
Project ID: 17802658

About the project

2 proposals
Remote project
Active 5 yrs ago

Looking to make some money?

Benefits of bidding on Freelancer

Set your budget and timeframe
Get paid for your work
Outline your proposal
It's free to sign up and bid on jobs
2 freelancers are bidding on average $23 USD for this job
User Avatar
Easy to fix just needs recursion.
$10 USD in 3 days
0.0 (0 reviews)
0.0
0.0
User Avatar
Hello. I can do that job for you.
$35 USD in 1 day
0.0 (0 reviews)
0.0
0.0

About the client

Flag of UNITED STATES
Athens, United States
0.0
0
Member since Sep 19, 2018

Client Verification

Thanks! We’ve emailed you a link to claim your free credit.
Something went wrong while sending your email. Please try again.
Registered Users Total Jobs Posted
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Loading preview
Permission granted for Geolocation.
Your login session has expired and you have been logged out. Please log in again.