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

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

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

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

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

    @yossiz חסך בתשובה שלו, אני מרחיב אותה לתשובה מלאה

    $page = Invoke-WebRequest $url 
    if ($page.RawContentLength  -ne 0)
    {
        Out-File -FilePath "$saveFolder\$book\$book $page.webp" -InputObject $page.RawContent 
    }
    

    אפשר מן הסתם לעשות פילטר בשורה אחת (אני לא יודע) אבל אולי זה שימושי לך תנאי ללוג.

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

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

    Y 2 תגובות תגובה אחרונה
    2
    • 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
                                          • דף הבית
                                          • קטגוריות
                                          • פוסטים אחרונים
                                          • משתמשים
                                          • חיפוש
                                          • חוקי הפורום