אם יש לך צורך לשלוח מידע מ-PowerShell לקובץ CSV, הפקודה Export-CSV כאן כדי לעזור. פקודה זו חוסכת המון זמן למנהלים שצריכים לסדר טקסט רץ לתוך מבנה מובנה. במקום להתעסק עם Excel, אנו יכולים להשתמש ב-PowerShell כדי ליצור קבצי CSV.
אפשר ליצור קבצי CSV כדי להזין דוחות, לשלוח לבסיסי נתונים ועוד מכל אובייקט PowerShell עם פקודת Export-Csv.
התבנית של CSV היא פשוט רשימת פריטים מופרדת בפסיקים המאוחסנת כקובץ טקסט. מכיוון שזו פשוט קובץ טקסט, אנו יכולים בעצם להשתמש בפקודה כללית לטקסט כמו Set-Content
כדי לבצע את העבודה. אך כדאי להשתמש בפקודה מסוימת כמו Export-Csv שכבר קיימת ומאפשרת שמירה של פלט CSV לקובץ.
קבצי CSV דורשים מבנה ספציפי. היכולת של הפקודה להבין, לקרוא ולהמיר מידע לקבצי CSV היא מה שהופכת את פקודת ה-PowerShell הזו לכלי נפלא.
ניהול ודיווח על Active Directory, Exchange ו-Microsoft 365 עם ManageEngine ADManager Plus. הורד את הגרסה החינמית!
עצמים -eq שורות של CSV
הפקודה Export-Csv
כולה עבור מטרה אחת; לשמור אובייקטים של PowerShell לקובץ CSV.
נניח שיש לך אובייקט עם שני מאפיינים בשמות foo
ו־bar
. כל אחד מהם מכיל ערכים רספקטיביים של 1
ו־2
. כאשר אתה שולח את האובייקט הזה ל־Export-Csv
, הוא ייצור קובץ CSV עם שני עמודות ושורה אחת. באפשרותך לייבא לתוכנה את תוכן ה־CSV ולבדוק איך הוא נראה.
פוורשל מטפל בעצם באובייקט בזיכרון ובקובץ CSV באותה המידה! גם כיוון של הכותרות של העמודות שלי מנוחס.
שים לב שהפקודה משתמשת בסימן גרש כפול סביב כל ערך של שורה. זה מאפשר לך לכלול שדות עם רווחים גם.
פרמטרים שימושיים ב־Export-CSV
ב־Windows PowerShell 5.1, הפקודה Export-CSV מציינת את סוג האובייקט שיצר את קובץ ה־CSV. אם ברצונך שלא תראה את השורה הזו, פרמטר פופולרי הוא NoTypeInformation
שמסיר את השורה הזו לחלוטין.
אם אתה עובד עם המון קבצי CSV או מקורות נתונים שונים, ייתכן שתלמד בדרך הקשה ש־Export-CSV יכול לדרוס קבצים קיימים. אין בעיה אם אתה משתמש בפרמטר Append
. הפרמטר Append
מאפשר לך להוסיף שורות ל־CSV במקום לדרוס קובץ קיים.
פרמטר נוסף שימושי הוא Delimiter
. לפעמים, ייתכן שתצטרך ליצור קובץ CSV שאינו משתמש במפריד הרגיל (פסיק) להפרדת השדות. במקום זאת, אולי תצטרך ליצור קובץ עם המון נתונים שמשתמש בטאבים כמפרידים או אף נקודות פסיק. פקודת ה־Export-Csv
ב־PowerShell יכולה לעזור לנו גם בכך על ידי הגדרת המפריד שאנו צריכים.
טיפול בגרשיים
כאשר אתה יוצר שורות CSV, Export-Csv
מסגיר את כל השדות בגרשיים. במצבים מסוימים, זה יכול לא להיות רצוי. למרבה הצער, אין דרך למנוע זאת. אך, על ידי שימוש בקצת קוד נוסף, אפשר להגשים זאת.
מטה תראה דוגמה ליצירת קובץ ה-CSV. לאחר מכן, Get-Content
קורא את קובץ הטקסט הגולמי, מחליף את כל הגרשיים בזיכרון בשום דבר. לאחר מכן, Set-Content
כותב את המידע הזה מחדש לדיסק.
ניהול ודיווח של Active Directory, Exchange ו-Microsoft 365 עם ManageEngine ADManager Plus. הורדת גרסה חינמית לניסוי!
סיכום
הפקודה Export-Csv
היא כלי פשוט אך יעיל ביותר לניהול נתוני CSV. היא מבינה את מבנה קובץ הנתונים ב-CSV וממירה אובייקטים של PowerShell לשורות CSV.
I’m not about to go back to batch, or VBScript where creating a CSV file from an existing object required instantiating a FileSystemObject, creating a loop and a bunch of Write()
methods!
הפקודה הזו היא עוד סיבה טובה להתחיל לכתוב קוד PowerShell היום!