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

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

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

טיפ: תתחילו להשתמש עם PowerShell

מתוזמן נעוץ נעול הועבר ארכיון code613m
10 פוסטים 2 כותבים 581 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • dovidD מחובר
    dovidD מחובר
    dovid ניהול
    כתב ב נערך לאחרונה על ידי
    #1

    לפעמים אתם צריכים משהו שכמעט שווה לכתוב תוכנה כדי לעשות אותו. אבל הצורך כל כך מקומי וחד פעמי, אז נו באמת. אז מחפשים כלי קיים שיעזור. אבל זה די מאתגר כל פעם לשלוף את הכלי המתאים בשביל משהו כה פשוט. דוגמאות?
    מה אתם עושים במקרה ו:

    1. יש לכם טקסט ואתם צריכים לדעת בדיוק מה אורכו, מה אתם עושים?
    2. ואיך מקצצים ממנו 25 תווים ראשונים?
    3. הפרש בין שתי תאריכים?
    4. מודלו (שארית חילוק) של שתי מספרים?
    5. להדפיס רשימה של כל התיקות?
    6. יום בשבוע בו יוצא התאריך X

    כמובן לכל שאלה תהיה לכם תשובה מסודרת, אבל בסופו של יום, זה מעצבן - הרבה כלים ורעיונות לפעולות בשקוד תוכנה לוקחים לנו רגע.
    פה אני רוצה לענות, שהתשובה היא מהיום PowerShell. הכלי הזה בכלל לא מיועד למטרות אלו, הוא כלי דומה ל"בש" של לינוקס שזה בעצם שורת פקודה משוכללת לקונפיגרוציית מערכת ההפעלה ותוכנותיה. אבל בתור מתכנת, זה מה שמענין לי בכלי הזה.
    אז להמלצתי, שימו לכם בשולחן העבודה קיצור דרך, לא לPowerShell עצמו כי הוא קצת פרימיטיבי לטעמי, אלא לעורך הסקריפטים שלו ששמו המלא הוא Windows Power Shell ISH. לא משנה למה הכלי הזה מיועד, תכלס הוא עונה באלגנטיות על השאלות הנ"ל.
    באו תראו: כנסו לתוכנה הזו, ומקמו את הסמן בחלון הכחול (תוכלו לצמצם את השטחים האחרים הלא רלוונטיים לנו). קדימה:

    "פה יש טקסט ארוך או יותר מדוייק כזה שלא בא לכם להתחיל לספור אותו".Length
    
    "פה יש טקסט ארוך או יותר מדוייק כזה שלא בא לכם להתחיל לספור אותו".Substring(0,25)
    
    1. מחזיר הפרש בדקות שעות ימים שנים...

      ( Get-Date "5/1/2006 22:00") - ( Get-Date "5/1/2006 23:00")

    105269 % 11
    
    1. נראה ורק נראה מורכב. נוצר קובץ HTML (לבחירתכם XML CSV ועוד) בו רשימת הקבצים מהתיקיה שצויינה.

      dir F:\Users\dovid\ -Recurse -Directory | Select-Object BaseName, FullName | ConvertTo-HTML | Out-File F:\Users\dovid\Desktop\Test.htm

    2. יום בשבוע. מחזיר Thursday (מה זה?!).

      (get-date 31/12/2015).DayOfWeek

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

    פורסם במקור בפורום CODE613 ב27/04/2015 17:38 (+03:00)

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

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

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

      לדעת מה קוד יוניקוד של אות מסויימת:

      [int][char]'ש'
      

      זה מחזיר 1513 (לידע הכללי :)).

      פורסם במקור בפורום CODE613 ב27/04/2015 19:17 (+03:00)

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

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

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

        @דוד ל.ט.

        1. יום בשבוע. מחזיר Thursday (מה זה?!).

          (get-date 31/12/2015).DayOfWeek

        אני ממש מצחיק. הרבה יותר פשוט סתם לכתוב:

        get-date 31/12/2015
        

        ומה זה מחזיר?
        יום חמישי 31 דצמבר 2015 00:00:00
        ...

        פורסם במקור בפורום CODE613 ב27/04/2015 19:45 (+03:00)

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

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

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

          שנה בתאריך עברי, מתאריך מסויים:

          (New-Object System.Globalization.HebrewCalendar).GetYear((get-date "31/12/2015"))
          

          שנה חודש ויום בתאריך עברי של תאריך נוכחי:

          $date = get-date
          $heb = New-Object System.Globalization.HebrewCalendar
          $date.ToShortDateString() + ": שנת " + $heb.GetYear($date) + " חודש " + $heb.GetMonth($date) + " יום בחודש " + $heb.GetDayOfMonth($date)
          

          מחזיר:
          28/04/2015: שנת 5775 חודש 8 יום בחודש 9

          פורסם במקור בפורום CODE613 ב28/04/2015 11:11 (+03:00)

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

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

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

            @דוד ל.ט.

            שנה בתאריך עברי, מתאריך מסויים:

            (New-Object System.Globalization.HebrewCalendar).GetYear((get-date "31/12/2015"))
            

            שנה חודש ויום בתאריך עברי של תאריך נוכחי:

            $date = get-date
            $heb = New-Object System.Globalization.HebrewCalendar
            $date.ToShortDateString() + ": שנת " + $heb.GetYear($date) + " חודש " + $heb.GetMonth($date) + " יום בחודש " + $heb.GetDayOfMonth($date)
            

            מחזיר:
            28/04/2015: שנת 5775 חודש 8 יום בחודש 9

            אפשר גם תאריך עברי ממש עם אותיות ולא מספרים?
            או שלזה מייקרוסופט לא דאגו....

            פורסם במקור בפורום CODE613 ב28/04/2015 11:19 (+03:00)

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

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

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

              @ClickOne

              אפשר גם תאריך עברי ממש עם אותיות ולא מספרים?
              או שלזה מייקרוסופט לא דאגו....

              לא אבל פונקציה קצרה יכולה לטפל בזה.

              פורסם במקור בפורום CODE613 ב28/04/2015 11:26 (+03:00)

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

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

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

                יש לכם קובץ מסב במחשב? איך צופים בו? אההמממ.

                לפני הקוד הסבר: בPS ניתן לייצא להרבה צורות, אפשר להדפיס לחלון הקנסולה, אפשר גם לקבצי XML או HTML ובודאי CSV.
                אפשרות מאוד נוחה החדשות זה להציג בחלון חי עם אפשרות מיון חיפוש וסינון. הפקודה היא Out-GridView ויותר נח: ogv (כינוי - מושג בPS).
                הנה הקוד המעודכן:

                (Get-Content G:\msv\Msv123 -Encoding Oem) |  Select -Property `
                     @{name = 'לקוח'; expression = {$txtRev = $_.substring(45,16).ToCharArray();[array]::reverse($txtRev);(-join $txtRev).Trim() }},
                     @{name = 'בנק';   expression = { $_.substring(17,2)} },
                     @{name = 'סניף';  expression = {[int]$_.substring(19,3)} },
                     @{name = 'חשבון'; expression = {[int]$_.substring(26,9)} },
                     @{name = 'סכום';  expression = {[double]($_.substring(61,11) + "." + $_.substring(72,2))} }  | ogv
                

                פורסם במקור בפורום CODE613 ב28/04/2015 14:11 (+03:00)

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

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

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

                  אם הPS פתוח, אתם לא צריכים להפעיל את תיבת "ההפעלה..." משום סיבה. תכתבו מה שאתם כותבים בה בPS כשלפני כן המילה start. למשל, פתיחת הregistry:

                  start regedit
                  

                  כמו כן כל מה שאפשר בCMD נגיש גם בPS באותו הנוסח. כך שגם הוא נחסך.

                  פורסם במקור בפורום CODE613 ב28/04/2015 14:18 (+03:00)

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

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

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

                    שערים יציגים מבנק ישראל:

                    ([xml]((New-Object System.Net.WebClient).DownloadString("http://boi.org.il/currency.xml"))).CURRENCIES.CURRENCY | select name, rate | ft -a
                    

                    או עם החלון היפה דלעיל - ogv:

                    ([xml]((New-Object System.Net.WebClient).DownloadString("http://boi.org.il/currency.xml"))).CURRENCIES.CURRENCY | ogv
                    

                    הנה איך שזה נראה לי במחשב:

                    PS.png

                    פורסם במקור בפורום CODE613 ב28/04/2015 18:53 (+03:00)

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

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

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

                      איזה גירסה יש לכם? זה ממש משנה! אני נהנה מאוד מההשלמה האוטומטית והחכמה שאין בגירסאות קודמות.
                      הורידו את 4 או את 5 שנמצא בPreview.

                      פורסם במקור בפורום CODE613 ב30/04/2015 14:45 (+03:00)

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

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

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

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

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

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