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

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

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

איך לחלץ את הערך Path מתוך מערך Powershall

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

    אני מקבל מערך בדוגמת הפלט הבא

    PS X:\test> $changes
    
    InputObject                                                                                                   SideIndic
                                                                                                                  ator     
    -----------                                                                                                   ---------
    @{Algorithm=MD5; Hash=9B0888BB0C3833206679572E35E7A71D; Path=X:\Test\Backup.ps1}                              ==       
    @{Algorithm=MD5; Hash=F0E6F573D63B1F92D16A55714F49B063; Path=X:\Test\Untitled1.ps1}                           ==       
    @{Algorithm=MD5; Hash=9A7CA20549218DE334060E3B30CAAEAE; Path=X:\Test\Untitled2.ps1}                           ==       
    @{Algorithm=MD5; Hash=40177EA95504C4CC9C0F51F0A18BDF1F; Path=X:\Test\Untitled3.ps1}                           ==       
    @{Algorithm=MD5; Hash=DF19BFB4A1F8829AD055854AD8027FBF; Path=X:\Test\zz.ps1}                                  ==       
    @{Algorithm=MD5; Hash=D41D8CD98F00B204E9800998ECF8427E; Path=X:\Test\‏‏מצגת של Microsoft PowerPoint חדש.pptx} ==       
    @{Algorithm=MD5; Hash=D41D8CD98F00B204E9800998ECF8427E; Path=X:\Test\hj;j\jhtsezkty yfhgvf gf;.txt}           ==       
    @{Algorithm=MD5; Hash=0627B4727E2BFE1D1CB7F06B82BFCC5C; Path=X:\Test\hj;j\‏‏תיקיה חדשה\jhfd.pub}              ==       
    @{Algorithm=MD5; Hash=D41D8CD98F00B204E9800998ECF8427E; Path=X:\Test\uri\שדגכעגכי ד.txt}                      ==       
    @{Algorithm=MD5; Hash=D41D8CD98F00B204E9800998ECF8427E; Path=X:\Test\uri\‏‏‫מסמך טקסט ‫חדש.txt}               ==       
    @{Algorithm=MD5; Hash=15EDAC198DFF6373F91CA0E59FA054FD; Path=X:\Test\uri\hgfjf\ggg.accdb}                     ==       
    
    

    ואני רוצה לשלוף רק את הערך Path (נתיב) מתוך המערך
    ניסיתי את זה וללא הצלחה

    $changes.Path
    

    וכן את זה וללא הצלחה

    $changes.@{Path}
    

    ניתן לפנות אלי גם ב al0548446188@gmail.com
    ותמיד... אבל תמיד תוכלו לשאול אותי ב :) כאן שאלות באקסל

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

      נראה לי ככה, תבדוק אם עובד

      $changes[0].Path
      

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

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

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

        @dovid נראה לי שהוא רוצה לקבל מערך של כל ה-Path

        @אוריי

        $changes | select Path
        

        או באריכות

        $changes | Select-Object -Property Path 
        

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

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

          @yossiz כתב באיך לחלץ את הערך Path מתוך מערך Powershall:

          @dovid נראה לי שהוא רוצה לקבל מערך של כל ה-Path

          @אוריי

          $changes | select Path
          

          או באריכות

          $changes | Select-Object -Property Path 
          

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

          PS X:\test> $changes | select Path
          
          Path
          ----
              
              
              
              
              
              
              
              
              
              
              
          
          
          
          PS X:\test> $changes | Select-Object -Property Path
          
          Path
          ----
              
              
              
              
              
              
              
              
              
              
              
          
          
          
          PS X:\test> 
          

          ניתן לפנות אלי גם ב al0548446188@gmail.com
          ותמיד... אבל תמיד תוכלו לשאול אותי ב :) כאן שאלות באקסל

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

            @dovid כתב באיך לחלץ את הערך Path מתוך מערך Powershall:

            נראה לי ככה, תבדוק אם עובד

            $changes[0].Path
            

            לא מחזיר כלום

            ניתן לפנות אלי גם ב al0548446188@gmail.com
            ותמיד... אבל תמיד תוכלו לשאול אותי ב :) כאן שאלות באקסל

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

              אני שם לב שהחסרתי אולי קצת דברים (אמנם כתבתי אותם בנושאים אחרים אב נכתוב את זה גם כאן)
              הקוד הראשון שלי היה

              $changes = Compare-Object $folder1Items $folder2Items -Property Name, Path -IncludeEqual
              

              הפלט שאני מקבל הוא

              Name Path                                                     SideIndicator
              ---- ----                                                     -------------
                   X:\MyBackup\Test\Backup.ps1                              =>           
                   X:\MyBackup\Test\Untitled1.ps1                           =>           
                   X:\MyBackup\Test\Untitled2.ps1                           =>           
                   X:\MyBackup\Test\Untitled3.ps1                           =>           
                   X:\MyBackup\Test\zz.ps1                                  =>           
                   X:\MyBackup\Test\‏‏מצגת של Microsoft PowerPoint חדש.pptx =>           
                   X:\MyBackup\Test\hj;j\jhtsezkty yfhgvf gf;.txt           =>           
                   X:\MyBackup\Test\hj;j\‏‏תיקיה חדשה\jhfd.pub              =>           
                   X:\MyBackup\Test\uri\שדגכעגכי ד.txt                      =>           
                   X:\MyBackup\Test\uri\‏‏‫מסמך טקסט ‫חדש.txt               =>           
                   X:\MyBackup\Test\uri\hgfjf\ggg.accdb                     =>           
                   X:\Test\Backup.ps1                                       <=           
                   X:\Test\Untitled1.ps1                                    <=           
                   X:\Test\Untitled2.ps1                                    <=           
                   X:\Test\Untitled3.ps1                                    <=           
                   X:\Test\zz.ps1                                           <=           
                   X:\Test\‏‏מצגת של Microsoft PowerPoint חדש.pptx          <=           
                   X:\Test\hj;j\jhtsezkty yfhgvf gf;.txt                    <=           
                   X:\Test\hj;j\‏‏תיקיה חדשה\jhfd.pub                       <=           
                   X:\Test\uri\שדגכעגכי ד.txt                               <=           
                   X:\Test\uri\‏‏‫מסמך טקסט ‫חדש.txt                        <=           
                   X:\Test\uri\hgfjf\ggg.accdb                              <= 
              

              בשים לב שהקבצים מ2 התיקיות תואמים אבל הוא לא מחזיר כלל == היות והוא בודק לפי שם ונתיב והנתיב לא תואם.
              עשיתי בדיקה רק לפי MD5 ואני מקבל תוצאה של ==

              מה שקורה הוא שאם אני בודק לפי MD5 אני לא מקבל במערך שום ערך אלא רק == או = > וכו'.

              אמנם כאשר אני בודק בלי שום פרמטר הוא בודק לפי הMD5 אבל מחזיר מערך כמו שכתבתי בפוסט הראשון.
              פתרונים????

              ניתן לפנות אלי גם ב al0548446188@gmail.com
              ותמיד... אבל תמיד תוכלו לשאול אותי ב :) כאן שאלות באקסל

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

                @אוריי כתב באיך לחלץ את הערך Path מתוך מערך Powershall:

                אבל משום מה הוא לא מחזיר לי את הנתיב אלא שורות ריקות.

                נכון, כי Compare-Object לא מחזיר את אובייקט שהבאת לו אלא משהו אחר בלי המאפיין של Path

                @אוריי כתב באיך לחלץ את הערך Path מתוך מערך Powershall:

                מה שקורה הוא שאם אני בודק לפי MD5 אני לא מקבל במערך שום ערך אלא רק == או = > וכו'.

                כי אין מאפיין MD5 אלא Hash
                @אוריי כתב באיך לחלץ את הערך Path מתוך מערך Powershall:

                אמנם כאשר אני בודק בלי שום פרמטר הוא בודק לפי הMD5 אבל מחזיר מערך כמו שכתבתי בפוסט הראשון.
                פתרונים????

                הפתרון לכל הנ"ל:

                $changes = Compare-Object $folder1Items $folder2Items -Property Hash -PassThru -IncludeEqual | select Path
                

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

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

                  לא שמתי לב שכתבת את זה
                  ותוך כדי כבר הגעתי לתשובה שכתבת ובכל אופן תודה רבה
                  בשביל לגשת לנתיב שלו אני צריך לגשת ל

                  $changes.InputObject.path
                  

                  ניתן לפנות אלי גם ב al0548446188@gmail.com
                  ותמיד... אבל תמיד תוכלו לשאול אותי ב :) כאן שאלות באקסל

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

                    @אוריי כתב באיך לחלץ את הערך Path מתוך מערך Powershall:

                    ותוך כדי כבר הגעתי לתשובה שכתבת ובכל אופן תודה רבה
                    בשביל לגשת לנתיב שלו אני צריך לגשת ל

                    $changes.InputObject.path
                    

                    אני כתבתי פתרון שונה (שימוש ב-PassThru) כי לא עלה על דעתי שהקוד שלך יכול לעבוד
                    Powershell מפליא אותי, הרי $changes הוא מערך, וממתי יש למערך מאפיין בשם InputObject?
                    אשמח אם מישהו יאיר את עיניי

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

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

                      @yossiz ראית את הפלט שהבאתי כאן ?
                      המערך של השם והנתיב נמצא תחת מאפיין שנקרא InputObject

                      ניתן לפנות אלי גם ב al0548446188@gmail.com
                      ותמיד... אבל תמיד תוכלו לשאול אותי ב :) כאן שאלות באקסל

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

                        @אוריי כתב באיך לחלץ את הערך Path מתוך מערך Powershall:

                        @yossiz ראית את הפלט שהבאתי כאן ?
                        המערך של השם והנתיב נמצא תחת מאפיין שנקרא InputObject

                        כן, זה לא עונה לי על השאלה. כי InputPath הוא מאפיין של אובייקט בתוך המערך אבל זה לא מאפיין של המערך עצמו

                        מצאתי את התשובה פה

                        יוצא אם כן שמה שכתבתי למעלה עם הפקודה select היה מיותר

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

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

                          את האמת הוודעתי ל Powershell רק בשבועות האחרונים והוא פשוט כלי שמדהים אותי ממש כל פעם מחדש
                          כל יום "יהיו בעיניך כחדשים"

                          ניתן לפנות אלי גם ב al0548446188@gmail.com
                          ותמיד... אבל תמיד תוכלו לשאול אותי ב :) כאן שאלות באקסל

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

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

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

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