דרוש פקודה או סקריפט להורדת קובץ משרת FTP
-
בהמשך לנושא הזה: בעיה בקוד vba להורדת קובץ משרת ftp
אני צריך להוריד קובץ csv שנמצא בשרת ftp בצורה אוטומטית דרך קוד vba
ניסיתי בנושא הקודם להוריד דרך vba אבל כל מה שניסיתי לא עבד
@OdedDvir יעץ לי לעשות סקריפט שיופעל על ידי vba (מקווה שזה אפשרי)
הבעיה הגדולה היא שאני בור ועם הארץ בנושא של הסקריפטים
ניסיתי לראות בחיפוש בגוגל וראיתי כאן את הקוד הזה#ftp server $ftp = "ftp://example.com/" $user = "XX" $pass = "XXX" $SetType = "bin" $remotePickupDir = Get-ChildItem 'c:\test' -recurse $webclient = New-Object System.Net.WebClient $webclient.Credentials = New-Object System.Net.NetworkCredential($user,$pass) foreach($item in $remotePickupDir){ $uri = New-Object System.Uri($ftp+$item.Name) #$webclient.UploadFile($uri,$item.FullName) $webclient.DownloadFile($uri,$item.FullName) }
הבעיה שהוא מחזיר שגיאה כזו
תודה מראש לכל העוזרים ....
-
@אוריי הנה חתיכת קוד שאמורה לעשות את מה שאתה מבקש משורת הפקודה (מבוסס על קוד מאתר מייקרוסופט: מקור בשילוב עם קוד מסטאק: מקור)
using System; using System.IO; using System.Net; namespace FTPDownload { class Program { /// <summary> /// Copies the contents of input to output. Doesn't close either stream. /// </summary> private static void CopyStream(Stream input, Stream output) { byte[] buffer = new byte[8 * 1024]; int len; while ((len = input.Read(buffer, 0, buffer.Length)) > 0) { output.Write(buffer, 0, len); } } static void Main(string[] args) { { // Get the object used to communicate with the server. // and URL from first command line argument FtpWebRequest request = (FtpWebRequest)WebRequest.Create(args[0]); request.Method = WebRequestMethods.Ftp.DownloadFile; // Set Credentials from command line arguments request.Credentials = new NetworkCredential(args[1], args[2]); FtpWebResponse response = (FtpWebResponse)request.GetResponse(); Stream responseStream = response.GetResponseStream(); using (Stream file = File.Create(args[4])) { CopyStream(responseStream, file); } Console.WriteLine($"Download Complete, status {response.StatusDescription}"); response.Close(); } } } }
מצ"ב קובץ הריצה המקומפל FTPDownload.exe
זה אמור לעבוד משורת הפקודה, תעביר לו ארבעה ארגומנטים:- כתובת-FTP
- שם משתמש
- סיסמה
- שם קובץ יעד
דוגמא:
FTPDownload ftp://111.222.333.444/Somefile.txt UserName Password C:\Temp\MyFile.txt