عند كتابة الكود في باورشيل ، قد يكون أقل ما تفكر فيه هو
حافظة النظام الخاصة بـ Windows. ربما نعرف جميعاً الاختصارات المشهورة للوحة المفاتيح Ctrl-C و Ctrl-V للنسخ واللصق من الحافظة، ولكن هذا يتم عادة عبر واجهة المستخدم الرسومية. في سكريبتات باورشيل الخاصة بنا، ليست هذه الطريقة مفيدة جداً. ومع ذلك، هل كنت تعلم أن هناك وظيفة نسخ إلى الحافظة في باورشيل؟
في هذه المقالة، سأتطرق إلى كيف كنا نحصل على وظائف النسخ واللصق في باورشيل، ثم سأقدم لك الأوامر التي يوفرها باورشيل بدءًا من الإصدار 5.
قبل باورشيل v5، كان الطريقة الوحيدة للنسخ إلى الحافظة هي باستخدام التطبيق clip.exe.
تطبيق clip.exe القديم
كان هذا التطبيق موجوداً منذ وقت طويل وكان يعمل فقط. من خلال توجيه النص إلى clip.exe، كان بإمكانك الحصول على النص المنسوخ على الحافظة. كان هذا يعمل ولكن كان دائماً مزعجاً عندما يضيف عودة العربة بعد كل إدخال.

ليس ذلك فحسب، ولكن لم يكن لدينا طريقة سهلة لسحب المعلومات من الحافظة. كنا مضطرين للصق المحتويات يدوياً بمجرد وجودها في الحافظة. مع الأوامر الأصلية للحافظة، لم يعد هذا مطلوباً!
لدينا الآن أمرين يحلان هذه المشكلة بشكل أفضل؛ 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
.
عمليات التلاعب بالحافظة في PowerShell Core
للأسف ، لا تتوفر الأوامر Get-Clipboard
و Set-Clipboard
في PowerShell Core (الإصدار 6+) ولكن يمكنك استخدامها باستخدام وحدة WindowsCompatibility . تسمح وحدة WindowsCompatibility لك باستخدام أوامر Windows PowerShell cmdlets داخل PowerShell Core.
بمجرد تثبيت وحدة WindowsCompatibility ، قم بتشغيل Invoke-WinCommand
وقم بتضمين مراجع Get-Clipboard
و Set-Clipboard
في الداخل.
ستجد أنه يمكنك قراءة وكتابة الحافظة تمامًا كما تفعل في Windows PowerShell.
ملخص
يمكنك القيام بالكثير مع الحافظة في PowerShell في الوقت الحاضر. تم تمكين نسخ PowerShell إلى الحافظة باستخدام Get-Clipboard
و Set-Clipboard
. تتيح لك هذه الأوامر استخدام PowerShell لنسخ إلى الحافظة ولصق بذكاء من الحافظة أيضًا.
للحصول على تفاصيل كاملة حول الأوامر ، تحقق من المساعدة المفصلة:
سيمنحك ذلك جميع المعلمات المختلفة التي يمكنك تجربتها.
Source:
https://adamtheautomator.com/powershell-copy-to-clipboard/