בכתיבת קוד ב-PowerShell הדבר האחרון שאולי תחשוב עליו הוא
לוח ההדבקה של Windows. כנראה שכולנו מכירים את הקיצורי המקלדת המפורסמים Ctrl-C ו-Ctrl-V להעתקה והדבקה מלוח ההדבקה אך זה בדרך כלל מתבצע דרך הממשק הגרפי. בתסריטים שלנו ב-PowerShell, זה לא ממש שימושי. אך, האם ידעת שיש פונקציה של העתקה ללוח ההדבקה ב-PowerShell?
במאמר זה, אני אעבור על איך השגנו פעם את הפונקציונליות של העתקה והדבקה ב-PowerShell ואז אציג לך את ה-cmdlets ש-PowerShell מספקת החל מגרסה 5.
לפני PowerShell v5, הדרך היחידה להעתיק ללוח ההדבקה הייתה באמצעות היישום clip.exe.
Old School clip.exe
היישום הזה היה סביב כבר הרבה זמן ופשוט עבד. על ידי שינוע טקסט ל-clip.exe, יכולת להשיג טקסט שהועתק ללוח ההדבקה. זה עבד אך תמיד היה מעצבן כאשר הוא הוסיף שורה חדשה לאחר כל רשומה.

לא רק זאת, אך לא היה לנו דרך קלה למשוך מידע מלוח ההדבקה. היינו צריכים להדביק באופן ידני את התוכן רק לאחר שהגיע ללוח ההדבקה. עם הפקודות המקוריות של לוח ההדבקה, זה כבר לא קיים!
יש לנו עכשיו שני cmdlets המפתרים בצורה הרבה יותר טובה את הבעיה הזו; Get-Clipboard
ו- Set-Clipboard
.
פקודת Set-Clipboard ב-Powershell
Set-Clipboard
מחליף את clip.exe אך מתנהג באופן זהה. כעת, במקום לנפיק את הפלט ל־clip, ניתן להשתמש ב־Set-Clipboard
. אם תעשה זאת, תגלה שהשורה האחורית נעלמה כשתדביק את התוכן במקום אחר.
הלוח יכיל כעת רק את המחרוזת Hello.
תכונה נוספת שימושית עם Set-Clipboard
היא הפרמטר Append
. לפני כן, הלוח היה מסוגל לאחסן רק פריט אחד. עכשיו, על ידי שימוש בפרמטר Append
עם Set-Clipboard
, ניתן להוסיף מספר בלתי מוגבל של פריטים בלתי הוסרים.
פרמטרים של Get-Clipboard
גם אם אינך משתמש ב־Set-Clipboard
כדי להעתיק תוכן ללוח, ניתן עדיין להשתמש ב־Get-Clipboard
כדי להבין כמה סוגים שונים מאשר מחרוזות פשוטות. לדוגמה, אם העתקת רשימת קבצים מ־מערכת הקבצים ותרצה להביא את הרשימה הזו לקונסולת PowerShell שלך, פשוט השתמש בפרמטר Format
ובערך FileDropList
על Get-Clipboard
.
ניתן לראות שהוא מבין את סוג הנתונים בלוח כרגע הוא רשימת קבצים. בנוסף, ניתן לעשות אותו הדבר עם תמונות ויישוו יישוו יישוו.
העתק תמונה מיישום אחר והשתמש בפקודה -Format Image
לקבלת מאפיינים שונים על התמונה.
שליטה בלוח העריכה בפווֵרְשֵל
לצערנו, הפקודות Get-Clipboard
וְSet-Clipboard
אינן זמינות בפווֵרְשֵל (גרסה 6 ומעלה), אך עדיין ניתן להשתמש בהן באמצעות ייבוא הַמּוֹדּוּל WindowsCompatibility. מודול זה מאפשר לך להשתמש בפקודות Windows PowerShell בתוך פווֵרְשֵל.
לאחר התקנת המודול WindowsCompatibility, הרץ את הפקודה Invoke-WinCommand
ועטוף את הפקודות Get-Clipboard
וְSet-Clipboard
בתוכה.
תגלה שניתן לקרוא ולכתוב ללוח העריכה באופן דומה למה שתעשה עם Windows PowerShell.
סיכום
היום ניתן לעשות הרבה יותר עם לוח העריכה בפווֵרְשֵל. העתקה ללוח העריכה בפווֵרְשֵל הפכה לאפשרית באמצעות הפקודות Get-Clipboard
וְSet-Clipboard
. פקודות אלה מאפשרות לך להשתמש בפווֵרְשֵל להעתיק ללוח העריכה ולהדביק ממנו באופן מודע.
לפרטים מפורטים על הפקודות, יש לעיין בעזרה מפורטת:
זה יספק לך את כל הפרמטרים השונים שניתן לנסות.
Source:
https://adamtheautomator.com/powershell-copy-to-clipboard/