דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. הורדה אוטומטית של קבצי csv מאתר ftp

הורדה אוטומטית של קבצי csv מאתר ftp

מתוזמן נעוץ נעול הועבר תכנות
26 פוסטים 5 כותבים 773 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • clickoneC מנותק
    clickoneC מנותק
    clickone
    השיב לאוריי ב נערך לאחרונה על ידי
    #5

    @אוריי אני מבין שמדובר על מחשב ספציפי שהוא גם הבעלים של הFTP המרוחק.
    אם זה נכון, אתה יכול פשוט למפות תיקיית FTP מרוחקת ככונן רשת, ואז לפנות לזה כתיקייה לכל דבר

    אין טסט כמו פרודקשן.

    המייל שלי urivpn@gmail.com

    אורייא תגובה 1 תגובה אחרונה
    6
    • אורייא מנותק
      אורייא מנותק
      אוריי
      השיב לclickone ב נערך לאחרונה על ידי אוריי
      #6

      @clickone אמר בהורדה אוטומטית של קבצי csv מאתר ftp:

      @אוריי אני מבין שמדובר על מחשב ספציפי שהוא גם הבעלים של הFTP המרוחק.
      אם זה נכון, אתה יכול פשוט למפות תיקיית FTP מרוחקת ככונן רשת, ואז לפנות לזה כתיקייה לכל דבר

      לא ,
      אין לי אפשרות כזו אני חייב לעבוד בצורה אחרת

      תגובה 1 תגובה אחרונה
      0
      • אורייא מנותק
        אורייא מנותק
        אוריי
        השיב לshraga ב נערך לאחרונה על ידי
        #7

        @shraga
        הרצתי בפורשאל
        וזה התשובה שקיבלתי

        Exception calling "GetResponse" with "0" argument(s): "The remote server returned an error: (550) File unavailable
        (e.g., file not found, no access)."
        At line:15 char:9
        +         $response = $request.GetResponse()
        +         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
            + FullyQualifiedErrorId : WebException
        
        You cannot call a method on a null-valued expression.
        At line:16 char:9
        +         $reader = New-Object IO.StreamReader $response.GetResponseStr ...
        +         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            + CategoryInfo          : InvalidOperation: (:) [], RuntimeException
            + FullyQualifiedErrorId : InvokeMethodOnNull
        
        You cannot call a method on a null-valued expression.
        At line:17 char:9
        +         $reader.ReadToEnd()
        +         ~~~~~~~~~~~~~~~~~~~
            + CategoryInfo          : InvalidOperation: (:) [], RuntimeException
            + FullyQualifiedErrorId : InvokeMethodOnNull
        
        You cannot call a method on a null-valued expression.
        At line:18 char:9
        +         $reader.Close()
        +         ~~~~~~~~~~~~~~~
            + CategoryInfo          : InvalidOperation: (:) [], RuntimeException
            + FullyQualifiedErrorId : InvokeMethodOnNull
        
        You cannot call a method on a null-valued expression.
        At line:19 char:9
        +         $response.Close()
        +         ~~~~~~~~~~~~~~~~~
            + CategoryInfo          : InvalidOperation: (:) [], RuntimeException
            + FullyQualifiedErrorId : InvokeMethodOnNull
        
        

        הכנסתי פרטי התחברות נכונים

        תגובה 1 תגובה אחרונה
        0
        • אורייא מנותק
          אורייא מנותק
          אוריי
          כתב ב נערך לאחרונה על ידי
          #8

          @shraga
          לסיכום כעת הצלחתי להוריד תיקיה שלימה
          אני מקווה שזה יעזור לי
          רק עוד פרט קטן חסר לי איך אני סוגר את הקובץ כדי שאני יוכל לקרוא לקובץ והוא יעדכן אוטומטי את כל הפרטים
          תודה מראש..

          shragaS תגובה 1 תגובה אחרונה
          0
          • Aharon 0A מנותק
            Aharon 0A מנותק
            Aharon 0
            כתב ב נערך לאחרונה על ידי
            #9

            יש אפשרות להשתמש ב- FreeFileSync , מגיע עם רכיב שמאפשר להריץ אוטומטית כל כמה זמן.
            אפשרות נוספת להריץ עם task scheduler של מערכת ההפעלה.

            אורייא תגובה 1 תגובה אחרונה
            0
            • אורייא מנותק
              אורייא מנותק
              אוריי
              השיב לAharon 0 ב נערך לאחרונה על ידי
              #10

              @aharon-0 , אני לא רוצה להריץ כל כמה זמן אני רוצה להריץ אותו כל פעם שמערכת אחרת נותנת לו פקודה לרוץ.. כך שאני רוצה שזה יהיה כמו קובץ מערכת שרץ כאשר אני קורא לו או משורת הפקודה או ע"י api או כל דרך אחרת

              @shraga , הקוד עובד מעולה רק יש לי בעיה אחרת יש לי גישה לftp לקבצים ישירות ולא לתיקיה מעליהם (כלומר יש לי הרשאות גישה לקבצים הפנימיים
              ואת זה הקוד שהבאת לי לא עושה השאלה היא האם תוכל לתת לי קוד שמוריד קובץ בסיומת csv ישירות מהFTP
              תודה רבה מראש...

              shragaS תגובה 1 תגובה אחרונה
              0
              • shragaS מנותק
                shragaS מנותק
                shraga
                השיב לאוריי ב נערך לאחרונה על ידי
                #11

                @אוריי אמר בהורדה אוטומטית של קבצי csv מאתר ftp:

                ואת זה הקוד שהבאת לי לא עושה השאלה היא האם תוכל לתת לי קוד שמוריד קובץ בסיומת csv ישירות מהFTP

                # Config
                
                $Username = "XXXX"
                
                $Password = "XXXX"
                
                $.LocalFile = "C:/testfolder/XXXXX/XXXX.csv"
                
                $RemoteFile = "ftp://XXXXX/Latest/XXXXX/XXXX.csv"
                
                 
                
                # Create a FTPWebRequest
                
                $FTPRequest = [System.Net.FtpWebRequest]::Create($RemoteFile)
                
                $FTPRequest.Credentials = New-Object System.Net.NetworkCredential($Username,$Password)
                
                $FTPRequest.Method = [System.Net.WebRequestMethods+Ftp]::DownloadFile
                
                $FTPRequest.UseBinary = $true
                
                $FTPRequest.KeepAlive = $false
                
                # Send the ftp request
                
                $FTPResponse = $FTPRequest.GetResponse()
                
                # Get a download stream from the server response
                
                $ResponseStream = $FTPResponse.GetResponseStream()
                
                # Create the target file on the local system and the download buffer
                
                $LocalFileFile = New-Object IO.FileStream ($LocalFile,[IO.FileMode]::Create)
                
                [byte[]]$ReadBuffer = New-Object byte[] 9213
                
                # Loop through the download
                
                do {
                
                $ReadLength = $ResponseStream.Read($ReadBuffer,0,9213)
                
                $LocalFileFile.Write($ReadBuffer,0,$ReadLength)
                
                }
                
                while ($ReadLength -ne 0)
                
                אורייא תגובה 1 תגובה אחרונה
                0
                • shragaS מנותק
                  shragaS מנותק
                  shraga
                  השיב לאוריי ב נערך לאחרונה על ידי
                  #12

                  @אוריי אמר בהורדה אוטומטית של קבצי csv מאתר ftp:

                  רק עוד פרט קטן חסר לי איך אני סוגר את הקובץ כדי שאני יוכל לקרוא לקובץ והוא יעדכן אוטומטי את כל הפרטים

                  לא ממש הבנתי, אם תוכל להרחיב.

                  אורייא תגובה 1 תגובה אחרונה
                  0
                  • אורייא מנותק
                    אורייא מנותק
                    אוריי
                    השיב לshraga ב נערך לאחרונה על ידי אוריי
                    #13

                    @shraga
                    כפי איך שהבנתי הכנסתי את הכתובת ip בשורה 9 לאחר ה \\ftp
                    תכלס הוא מחזיר לי שגיאה
                    עריכה: מצאתי את הבעיה בשורה 7 משום מה אצלך היה נקודה בתחילת השורה מה שגרם לו להחזיר שגיאה..

                    $.LocalFile = "C:/testfolder/XXXXX/XXXX.csv"
                    

                    מחקתי אותה וזה עובד מעולה

                    תגובה 1 תגובה אחרונה
                    0
                    • אורייא מנותק
                      אורייא מנותק
                      אוריי
                      השיב לshraga ב נערך לאחרונה על ידי אוריי
                      #14

                      @shraga אמר בהורדה אוטומטית של קבצי csv מאתר ftp:

                      @אוריי אמר בהורדה אוטומטית של קבצי csv מאתר ftp:

                      רק עוד פרט קטן חסר לי איך אני סוגר את הקובץ כדי שאני יוכל לקרוא לקובץ והוא יעדכן אוטומטי את כל הפרטים

                      לא ממש הבנתי, אם תוכל להרחיב.

                      יש לי מערכת שאני רוצה להריץ כמה שלבים אחד לאחר השני כאשר הראשון מסתיים
                      פחות או יותר סדר השלבים הוא קבלת הוראה מapi להתחיל לרוץ

                      1. בוט (או כל דבר אחר) שמוריד קבצים מהftp
                      2. לאחר מכן להריץ קובץ vbs שמריץ קוד vba על קובץ אחר
                      3. שליחת הוראה לapi שהסתיים
                      4. שליחת הקובץ פלט באימייל (נעשה ע"י סקריפט) לאחר כל הפעולות האלו..

                      עכשיו מה שאני רוצה לעשות זה קובץ בוט או כל דבר אחר שברגע שה api מפעיל אותו הוא יוריד קבצים חדשים מה ftp ולאחר מכן הוא יפעיל את הקובץ שמפעיל את ה vba וכו' וכו' ...
                      מה שאני צריך לעשות עם הקוד הזה שהוא יעבוד טוב בצורה סגורה ועם אפשרות שבעת שאני מפעיל אותו הוא מריץ את השלבים הבאים...

                      shragaS תגובה 1 תגובה אחרונה
                      0
                      • shragaS מנותק
                        shragaS מנותק
                        shraga
                        השיב לאוריי ב נערך לאחרונה על ידי shraga
                        #15

                        @אוריי מה הוא הAPI שאמור להפעיל את התהליך בwindows??
                        התממשקות בין מה למה?
                        לא ברורה לי הנקודה הזו

                        אורייא תגובה 1 תגובה אחרונה
                        0
                        • אורייא מנותק
                          אורייא מנותק
                          אוריי
                          השיב לshraga ב נערך לאחרונה על ידי
                          #16

                          @shraga
                          אני לא בונה את ה api
                          זה פשוט מערכת של מישהו של שליחת קובץ במייל עם שילוב של עוד כמה מערכות והוא לוקח את הקובץ מהשרת שלי והוא בודק אם קיימים עדכונים ואם קיימים עדכונים הוא קורא לפוורשאל לעדכן את הקבצים ולאחר מכן הוא לוקח את הקובץ המעודכן ושולח אותו במייל...

                          shragaS תגובה 1 תגובה אחרונה
                          0
                          • shragaS מנותק
                            shragaS מנותק
                            shraga
                            השיב לאוריי ב נערך לאחרונה על ידי
                            #17

                            @אוריי
                            API =
                            ?

                            זה תוכנה כלשהי שיושבת על המחשב?

                            אורייא 2 תגובות תגובה אחרונה
                            0
                            • אורייא מנותק
                              אורייא מנותק
                              אוריי
                              השיב לshraga ב נערך לאחרונה על ידי
                              #18
                              פוסט זה נמחק!
                              תגובה 1 תגובה אחרונה
                              0
                              • אורייא מנותק
                                אורייא מנותק
                                אוריי
                                השיב לshraga ב נערך לאחרונה על ידי אוריי
                                #19

                                @shraga
                                אני ינסה שוב להסביר מה שאני צריך זה כך
                                מערכת של עידכון קובץ לפי פרמטרים שהגדרתי ב vba ושזה יעבוד אוטומטי מתי שה api ישלח בקשה (כלומר יקרא לקובץ) ויתן בסיום ל api עידכון שהתהליך הסתיים..
                                כל השאר איך לגשת לשרת ולקובץ שלי מה api זה לא מעניין אותי כרגע
                                קודם כל שיהיה לי מערכת אוטומטית שעושה את השלבים האלו:

                                1. בוט (או כל דבר אחר) שמוריד קבצים מהftp
                                2. לאחר מכן להריץ קובץ vbs שמריץ קוד vba על קובץ אחר
                                3. שליחת הוראה לapi שהסתיים

                                אם חסרים לך עוד פרטים אוכל להשלים לך במייל שלי בחתימה

                                shragaS תגובה 1 תגובה אחרונה
                                0
                                • shragaS מנותק
                                  shragaS מנותק
                                  shraga
                                  השיב לאוריי ב נערך לאחרונה על ידי
                                  #20

                                  @אוריי אמר בהורדה אוטומטית של קבצי csv מאתר ftp:

                                  בוט (או כל דבר אחר) שמוריד קבצים מהftp
                                  לאחר מכן להריץ קובץ vbs שמריץ קוד vba על קובץ אחר

                                  את השאר לא הבנתי :(, נמתין לקהל שאולי פחות קשה הבנה ממני...

                                  לגבי זה -

                                  1. זה אמור לעבוד במחשב ספציפי בלבד או במספר מחשבים?
                                  2. יצרת קובץ בסיומת .ps להורדת ועדכון הcsv? הוא עובד תקין?
                                  3. יש לך כבר את הקובץ vbs?
                                  אורייא תגובה 1 תגובה אחרונה
                                  1
                                  • אורייא מנותק
                                    אורייא מנותק
                                    אוריי
                                    השיב לshraga ב נערך לאחרונה על ידי
                                    #21

                                    @shraga אמר בהורדה אוטומטית של קבצי csv מאתר ftp:

                                    יצרת קובץ בסיומת .ps להורדת ועדכון הcsv? הוא עובד תקין?

                                    יצרתי והוא לא עובד תקין
                                    אבל כאשר אני מריץ בפוורשאל הוא עובד טוב
                                    מה זה יכול להיות?

                                    shragaS תגובה 1 תגובה אחרונה
                                    0
                                    • shragaS מנותק
                                      shragaS מנותק
                                      shraga
                                      השיב לאוריי ב נערך לאחרונה על ידי
                                      #22

                                      @אוריי אולי בגלל שזה עובד רק בהרצה דרך 32 ביט,
                                      תיצור סקריפט נוסף שיריץ את הסקריפט במצב 32 ביט (תשנה את הנתיב C:\downloader.ps1 לנתיב הנכון של סקריפט ההורדה):

                                      $script = Start-Job -ScriptBlock {
                                      
                                      
                                      
                                        powershell.exe -ExecutionPolicy RemoteSigned -file "C:\downloader.ps1"
                                      
                                      
                                      
                                      } -RunAs32
                                      

                                      עובד?

                                      אם כן, מה שנשאר זה לארוז את הכל לסקריפט אחד.

                                      אורייא תגובה 1 תגובה אחרונה
                                      1
                                      • אורייא מנותק
                                        אורייא מנותק
                                        אוריי
                                        השיב לshraga ב נערך לאחרונה על ידי
                                        #23

                                        @shraga
                                        עדיין לא עובד... 😞

                                        shragaS תגובה 1 תגובה אחרונה
                                        0
                                        • shragaS מנותק
                                          shragaS מנותק
                                          shraga
                                          השיב לאוריי ב נערך לאחרונה על ידי
                                          #24
                                          פוסט זה נמחק!
                                          אורייא תגובה 1 תגובה אחרונה
                                          0

                                          • 1
                                          • 2
                                          בא תתחבר לדף היומי!
                                          • התחברות

                                          • אין לך חשבון עדיין? הרשמה

                                          • התחברו או הירשמו כדי לחפש.
                                          • פוסט ראשון
                                            פוסט אחרון
                                          0
                                          • דף הבית
                                          • קטגוריות
                                          • פוסטים אחרונים
                                          • משתמשים
                                          • חיפוש
                                          • חוקי הפורום