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

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

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

עזרה בהורדה ב PowerShell

מתוזמן נעוץ נעול הועבר תוכנה
22 פוסטים 3 כותבים 444 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • yossizY מנותק
    yossizY מנותק
    yossiz
    כתב ב נערך לאחרונה על ידי yossiz
    #4

    @dovid למדתי היום משהו מצמרר,
    שבברירת מחדל Invoke-WebRequest עושה פרסור של הדף כולל JS 😨
    על ידי מנוע IE 😨😨
    ומציג תיבת דו-שיח גרפי כאשר יש שגיאת JS 😨😨😨

    נסה Invoke-WebRequest https://www.google.com בנטפרי

    ecf3dcfa-361f-44c7-8ab7-c05f327e4172-image.png

    📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

    Y תגובה 1 תגובה אחרונה
    1
    • Y מנותק
      Y מנותק
      yits
      השיב לdovid ב נערך לאחרונה על ידי
      #5

      @yossiz
      זה עובד מצוין אבל הוא שומר קודם את הקובץ הריק למחשב.
      מה ש @dovid כתב זה יותר ארוך אבל לא שומר בכלל קבצים ריקים.

      תודה רבה.

      לקניה והנחות ב KSP כנסו מכאן.
      למוצרים עם הנחה מכאן.

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

        @yossiz אמר בעזרה בהורדה ב PowerShell:

        נסה Invoke-WebRequest https://www.google.com בנטפרי

        לא מופיע לי שגיאה.

        PS C:\Users\XXXXX> Invoke-WebRequest https://www.google.com
        
        
        StatusCode        : 200
        StatusDescription : OK
        Content           : <!doctype html><html dir="rtl" itemscope="" itemtype="http://schema.org/WebPage"
                            lang="iw"><head><meta content="text/html; charset=UTF-8" http-equiv="Content-Type"><meta
                            content="/images/branding/goog...
        RawContent        : HTTP/1.1 200 OK
                            X-XSS-Protection: 0
                            X-Frame-Options: SAMEORIGIN
                            Cache-Control: private, max-age=0
                            Content-Type: text/html; charset=UTF-8
                            Date: Tue, 26 May 2020 12:16:31 GMT
                            Expires: -1
                            P3P: CP=...
        Forms             : {f}
        Headers           : {[X-XSS-Protection, 0], [X-Frame-Options, SAMEORIGIN], [Cache-Control, private, max-age=0],
                            [Content-Type, text/html; charset=UTF-8]...}
        Images            : {@{innerHTML=; innerText=; outerHTML=<IMG id=hplogo style="PADDING-BOTTOM: 14px; PADDING-TOP:
                            28px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px" alt=Google
                            src="/images/branding/googlelogo/1x/googlelogo_white_background_color_272x92dp.png" width=272
                            height=92>; outerText=; tagName=IMG; id=hplogo; style=PADDING-BOTTOM: 14px; PADDING-TOP: 28px;
                            PADDING-LEFT: 0px; PADDING-RIGHT: 0px; alt=Google;
                            src=/images/branding/googlelogo/1x/googlelogo_white_background_color_272x92dp.png; width=272;
                            height=92}, @{innerHTML=; innerText=; outerHTML=<IMG id=tsuid1 style="CURSOR: pointer; POSITION:
                            absolute; LEFT: 5px; Z-INDEX: 300; TOP: 4px" alt="" src="/textinputassistant/tia.png" width=27
                            height=23 data-script-url="/textinputassistant/11/iw_tia.js">; outerText=; tagName=IMG; id=tsuid1;
                            style=CURSOR: pointer; POSITION: absolute; LEFT: 5px; Z-INDEX: 300; TOP: 4px; alt=;
                            src=/textinputassistant/tia.png; width=27; height=23;
                            data-script-url=/textinputassistant/11/iw_tia.js}}
        InputFields       : {@{innerHTML=; innerText=; outerHTML=<INPUT type=hidden value=iw name=hl>; outerText=;
                            tagName=INPUT; type=hidden; value=iw; name=hl}, @{innerHTML=; innerText=; outerHTML=<INPUT
                            type=hidden value=hp name=source>; outerText=; tagName=INPUT; type=hidden; value=hp; name=source},
                            @{innerHTML=; innerText=; outerHTML=<INPUT type=hidden name=biw>; outerText=; tagName=INPUT;
                            type=hidden; name=biw}, @{innerHTML=; innerText=; outerHTML=<INPUT type=hidden name=bih>;
                            outerText=; tagName=INPUT; type=hidden; name=bih}...}
        Links             : {@{innerHTML=<SPAN class=gbtb2></SPAN><SPAN class=gbts>חיפוש</SPAN>; innerText=חיפוש; outerHTML=<A
                            onclick=gbar.logger.il(1,{t:1}); id=gb_1 class="gbzt gbz0l gbp1"
                            href="https://www.google.co.il/webhp?tab=ww"><SPAN class=gbtb2></SPAN><SPAN
                            class=gbts>חיפוש</SPAN></A>; outerText=חיפוש; tagName=A; onclick=gbar.logger.il(1,{t:1});;
                            id=gb_1; class=gbzt gbz0l gbp1; href=https://www.google.co.il/webhp?tab=ww}, @{innerHTML=<SPAN
                            class=gbtb2></SPAN><SPAN class=gbts>חיפוש תמונות</SPAN>; innerText=חיפוש תמונות; outerHTML=<A
                            onclick=gbar.logger.il(1,{t:2}); id=gb_2 class=gbzt
                            href="https://www.google.co.il/imghp?hl=iw&amp;tab=wi"><SPAN class=gbtb2></SPAN><SPAN
                            class=gbts>חיפוש תמונות</SPAN></A>; outerText=חיפוש תמונות; tagName=A;
                            onclick=gbar.logger.il(1,{t:2});; id=gb_2; class=gbzt;
                            href=https://www.google.co.il/imghp?hl=iw&amp;tab=wi}, @{innerHTML=<SPAN class=gbtb2></SPAN><SPAN
                            class=gbts>מפות</SPAN>; innerText=מפות; outerHTML=<A onclick=gbar.logger.il(1,{t:8}); id=gb_8
                            class=gbzt href="https://maps.google.co.il/maps?hl=iw&amp;tab=wl"><SPAN class=gbtb2></SPAN><SPAN
                            class=gbts>מפות</SPAN></A>; outerText=מפות; tagName=A; onclick=gbar.logger.il(1,{t:8});; id=gb_8;
                            class=gbzt; href=https://maps.google.co.il/maps?hl=iw&amp;tab=wl}, @{innerHTML=<SPAN
                            class=gbtb2></SPAN><SPAN class=gbts>YouTube</SPAN>; innerText=YouTube; outerHTML=<A
                            onclick=gbar.logger.il(1,{t:36}); id=gb_36 class=gbzt
                            href="https://www.youtube.com/?gl=IL&amp;tab=w1"><SPAN class=gbtb2></SPAN><SPAN
                            class=gbts>YouTube</SPAN></A>; outerText=YouTube; tagName=A; onclick=gbar.logger.il(1,{t:36});;
                            id=gb_36; class=gbzt; href=https://www.youtube.com/?gl=IL&amp;tab=w1}...}
        ParsedHtml        : mshtml.HTMLDocumentClass
        RawContentLength  : 48899
        
        
        

        לקניה והנחות ב KSP כנסו מכאן.
        למוצרים עם הנחה מכאן.

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

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

          -OutFile "$saveFolder\$book\$book_$page.webp"
          

          איך אפשר להשתמש בשניהם יחד?

          .

          אגב המשתנה page הוא מספר רץ אצלי, ואם אני ישתמש איתו גם למה שכתבת כנראה זה לא יעבוד.

          $page = Invoke-WebRequest $url -OutFile "$saveFolder\$book\$book $page.webp" -passThru
          
          

          לקניה והנחות ב KSP כנסו מכאן.
          למוצרים עם הנחה מכאן.

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

            @yossiz זה מאפיין בפני עצמו ParsedHtml, לא ככה?

            מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

            בכל נושא אפשר ליצור קשר dovid@tchumim.com

            yossizY תגובה 1 תגובה אחרונה
            1
            • yossizY מנותק
              yossizY מנותק
              yossiz
              השיב לyits ב נערך לאחרונה על ידי yossiz
              #9

              @yits אמר בעזרה בהורדה ב PowerShell:

              אגב המשתנה page הוא מספר רץ אצלי, ואם אני ישתמש איתו גם למה שכתבת כנראה זה לא יעבוד.

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

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

              -OutFile "$saveFolder$book$book_$page.webp"

              איך אפשר להשתמש בשניהם יחד?

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

              -OutFile "$saveFolder\$book\$($book)_$page.webp"
              -OutFile ("$saveFolder\$book\$book" + "_$page.webp")
              

              📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

              תגובה 1 תגובה אחרונה
              2
              • yossizY מנותק
                yossizY מנותק
                yossiz
                השיב לdovid ב נערך לאחרונה על ידי
                #10

                @dovid אמר בעזרה בהורדה ב PowerShell:

                @yossiz זה מאפיין בפני עצמו ParsedHtml, לא ככה?

                כן, לא הכרתי. גישה לאחד מתוך כמה מאפיינים באובייקט המוחזר מריץ את ה-JS של הדף. (כמו כן הדפסה לקונסול מריץ את ה-JS כי זה ניגש למאפיינים אלו)

                📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

                תגובה 1 תגובה אחרונה
                1
                • Y מנותק
                  Y מנותק
                  yits
                  השיב לdovid ב נערך לאחרונה על ידי
                  #11

                  @dovid
                  הפתרון שהבאת לא עובד,
                  הוא יודע לומר אם הגודל הוא 0 או לא,
                  אבל לא ניתן לייצא אותו אח"כ לקובץ.

                  זה מה שניסיתי

                  $saveFolder = ($pwd).path
                  $book = 602285
                  $page = 0
                  md 602285
                  $url = "http://mefo.otzar.org/api/books/$book/$page/image"
                  $Responsepage = Invoke-WebRequest $url 
                  if ($Responsepage.RawContentLength  -ne 0)
                  	{Out-File -FilePath "$saveFolder\$book\$book $page.webp" -InputObject $Responsepage.RawContent}
                  else 
                  	{break }
                  

                  לקניה והנחות ב KSP כנסו מכאן.
                  למוצרים עם הנחה מכאן.

                  dovidD תגובה 1 תגובה אחרונה
                  0
                  • dovidD מנותק
                    dovidD מנותק
                    dovid ניהול
                    השיב לyits ב נערך לאחרונה על ידי
                    #12

                    @yits "אבל לא ניתן לייצא אותו אח"כ לקובץ"
                    קורה משהו? מנין לך שהבדיקה עובדת?
                    אגב אני כעת רואה שRawContentLength מחזיר את הגודל של התוכן + הכותרות וממילא זה לא הכי מתאים.
                    כמו"כ הRawContent מכיל כותרות יש לשנות אותו לContet.
                    כל זה בלי קשר לבעיה שאתה אומר שזה לא עובד..

                    מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                    בכל נושא אפשר ליצור קשר dovid@tchumim.com

                    תגובה 1 תגובה אחרונה
                    2
                    • Y מנותק
                      Y מנותק
                      yits
                      כתב ב נערך לאחרונה על ידי yits
                      #13

                      @dovid אמר בעזרה בהורדה ב PowerShell:

                      אני עושה את זה בתוך לולאה, ואם הקובץ ריק הוא יוצא מהלולאה,
                      אבל במקרה שיש תוכן אני לא מצליח לשמור את הנתונים.

                      גם עם Content זה לא עובד.

                      לקניה והנחות ב KSP כנסו מכאן.
                      למוצרים עם הנחה מכאן.

                      yossizY dovidD 2 תגובות תגובה אחרונה
                      0
                      • yossizY מנותק
                        yossizY מנותק
                        yossiz
                        השיב לyits ב נערך לאחרונה על ידי yossiz
                        #14

                        @yits אמר בעזרה בהורדה ב PowerShell:

                        אבל במקרה שיש תוכן אני לא מצליח לשמור את הנתונים.

                        אבל אתה לא מתאר איך ה"לא מצליח" הזה מתממש? יש שגיאה? הקובץ נוצר ריק? הקובץ לא נוצר?

                        📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

                        Y תגובה 1 תגובה אחרונה
                        2
                        • Y מנותק
                          Y מנותק
                          yits
                          השיב לyossiz ב נערך לאחרונה על ידי
                          #15

                          @yossiz אמר בעזרה בהורדה ב PowerShell:

                          @yits אמר בעזרה בהורדה ב PowerShell:

                          אבל במקרה שיש תוכן אני לא מצליח לשמור את הנתונים.

                          אבל אתה לא מתאר איך ה"לא מצליח" הזה מתממש? יש שגיאה? הקובץ נוצר ריק? הקובץ לא נוצר?

                          נוצר קובץ לא תקין.

                          לקניה והנחות ב KSP כנסו מכאן.
                          למוצרים עם הנחה מכאן.

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

                            @yits סוף סוף אתה כותב משהו, לא מתאים לאיש עם ידע טכני כמוך להגיד "לא עובד" כזה סתמי!
                            תשנה את ה$Responsepage.RawContent ל$Responsepage.Content.

                            מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                            בכל נושא אפשר ליצור קשר dovid@tchumim.com

                            תגובה 1 תגובה אחרונה
                            2
                            • dovidD מנותק
                              dovidD מנותק
                              dovid ניהול
                              השיב לyits ב נערך לאחרונה על ידי
                              #17

                              @yits אמר בעזרה בהורדה ב PowerShell:

                              גם עם Content זה לא עובד.

                              סליחה, החמצתי.
                              אם ככה אני לא יודע.

                              מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                              בכל נושא אפשר ליצור קשר dovid@tchumim.com

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

                                הממ.. זה בעייתי...
                                https://stackoverflow.com/questions/24708859

                                📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

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

                                  @yits זה נראה קצת בעייתי להעביר את המידע של Invoke-WebRequest אם זה מידע בינארי כי זה מומר ל-string,
                                  נראה לי שהכי קל להשתמש בקוד שלי ולכתוב תנאי אחרי ההורדה שאם ה-contentLength הוא 0 למחוק את הקובץ ולהפסיק את הלולאה.
                                  משהו כזה:

                                  $ResponsePage = Invoke-WebRequest $url -OutFile "$saveFolder\$book\$book $page.webp" -passThru
                                  if ($Responsepage.RawContentLength  -eq 0) {
                                      rm "$saveFolder\$book\$book $page.webp"
                                      break
                                  }
                                  

                                  📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

                                  תגובה 1 תגובה אחרונה
                                  3
                                  • dovidD מנותק
                                    dovidD מנותק
                                    dovid ניהול
                                    כתב ב נערך לאחרונה על ידי
                                    #20

                                    מה זה הסיפור הזה שלח תשובה ריקה? זה לא הכי נורמלי.
                                    זה מחזיר OK כלומר 200? יש מצב לכתובת דוגמה כזו?

                                    כשהכרתי את PowerShell אז התלהבתי שאוכל לעשות בקלות קודים לפעולות קטנות במחשב כיוצא באלו,
                                    אבל איבדתי את ההתלהבות ברגע שגיליתי את LinqPad שמאפשר להריץ בקלות C#.
                                    השפה והשימוש בסקריפטים של powershell או בש (וק"ו batch) ממש קשים לי.

                                    מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                                    בכל נושא אפשר ליצור קשר dovid@tchumim.com

                                    yossizY תגובה 1 תגובה אחרונה
                                    2
                                    • yossizY מנותק
                                      yossizY מנותק
                                      yossiz
                                      השיב לdovid ב נערך לאחרונה על ידי yossiz
                                      #21

                                      @dovid אמר בעזרה בהורדה ב PowerShell:

                                      מה זה הסיפור הזה שלח תשובה ריקה? זה לא הכי נורמלי.
                                      זה מחזיר OK כלומר 200? יש מצב לכתובת דוגמה כזו?

                                      (אני עונה במקום @yits כי אני יודע באיזה אתר מדובר)
                                      כן, זה מחזיר 200... זה באמת לא הכי נורמלי, אבל מה לעשות... ¯/_(ツ)_\¯

                                      📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

                                      Y תגובה 1 תגובה אחרונה
                                      3
                                      • Y מנותק
                                        Y מנותק
                                        yits
                                        השיב לyossiz ב נערך לאחרונה על ידי
                                        #22

                                        @yossiz @yossiz
                                        עובד לי מצוין (עם הפתרון של @yossiz).

                                        לקניה והנחות ב KSP כנסו מכאן.
                                        למוצרים עם הנחה מכאן.

                                        תגובה 1 תגובה אחרונה
                                        2

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

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

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