Wanneer je code schrijft in PowerShell, is het laatste waar je waarschijnlijk aan denkt, het Windows-klembord. We kennen waarschijnlijk allemaal de beruchte toetsenbordsnelkoppelingen Ctrl-C en Ctrl-V om van het klembord te kopiëren en plakken, maar dit gebeurt meestal via de GUI. In onze PowerShell-scripts is dit niet al te nuttig. Wist je echter dat er een PowerShell-kopieerfunctie naar het klembord bestaat?
In dit artikel ga ik uitleggen hoe we vroeger kopieer- en plakfunctionaliteit kregen in PowerShell en vervolgens introduceer ik de cmdlets die PowerShell biedt vanaf versie 5.
Voor PowerShell v5 was de enige manier om naar het klembord te kopiëren, door gebruik te maken van de clip.exe-toepassing.
Clip.exe op de oude manier
Deze toepassing bestond al lange tijd en werkte gewoon. Door tekst naar clip.exe te sturen, kon je tekst naar het klembord kopiëren. Dit werkte, maar het was altijd vervelend als het een regeleinde toevoegde na elke invoer.

Niet alleen dat, maar we hadden geen eenvoudige manier om informatie uit het klembord te halen. We moesten de inhoud handmatig plakken zodra deze zich in het klembord bevond. Met de native klembordopdrachten is dit verleden tijd!
We hebben nu twee cmdlets die dit probleem veel beter oplossen; Get-Clipboard
en Set-Clipboard
.
Set-Clipboard Powershell-opdracht
Set-Clipboard
vervangt clip.exe maar gedraagt zich precies hetzelfde. Nu, in plaats van de uitvoer naar clip te leiden, kun je Set-Clipboard
gebruiken. Als je dit doet, zul je merken dat de overbodige carriage return verdwenen is wanneer je de inhoud ergens plakt.
Het klembord bevat nu alleen de tekenreeks Hallo.
Nog een handige functie met Set-Clipboard
is de Append
-parameter. Traditioneel kon het klembord slechts één item bevatten. Nu, door de Append
-parameter te gebruiken met Set-Clipboard
, kun je een onbeperkt aantal items toevoegen zonder het vorige te verwijderen.
Get-Clipboard Parameters
Zelfs als je Set-Clipboard
niet gebruikt om inhoud naar het klembord te kopiëren, kun je nog steeds Get-Clipboard
gebruiken om een paar verschillende typen te begrijpen dan alleen eenvoudige tekenreeksen. Als je bijvoorbeeld een lijst met bestanden hebt gekopieerd vanuit Bestandsverkenner en je wilt deze lijst in je PowerShell-console krijgen, gebruik dan eenvoudigweg de Format
-parameter en de FileDropList
-waarde op Get-Clipboard
.
Je ziet dat het begrijpt dat het type gegevens in het klembord een lijst met bestanden is. Ook kun je hetzelfde doen met afbeeldingen en andere entiteiten.
Kopieer een afbeelding uit een andere toepassing en gebruik -Format Image
om verschillende eigenschappen over de afbeelding op te halen.
Klembordmanipulatie in PowerShell Core
Helaas zijn de commando’s Get-Clipboard
en Set-Clipboard
niet beschikbaar in PowerShell Core (v6+), maar je kunt ze nog steeds gebruiken met behulp van de WindowsCompatibility-module. De WindowsCompatibility-module stelt je in staat om Windows PowerShell-cmdlets te gebruiken binnen PowerShell Core.
Zodra je de WindowsCompatibility-module hebt geïnstalleerd, voer je Invoke-WinCommand
uit en wikkel je verwijzingen naar Get-Clipboard
en Set-Clipboard
erin.
Je zult merken dat je het klembord kunt lezen en ernaar schrijven zoals je dat zou doen met Windows PowerShell.
Samenvatting
Je kunt tegenwoordig zoveel meer doen met het klembord in PowerShell. Het kopiëren naar het klembord met PowerShell is mogelijk gemaakt met behulp van de Get-Clipboard
en Set-Clipboard
. Met deze cmdlets kun je PowerShell gebruiken om naar het klembord te kopiëren en er ook intelligent uit te plakken.
Voor een volledige uitleg van de cmdlets, bekijk de gedetailleerde hulp:
Hiermee krijg je alle verschillende parameters die je kunt uitproberen.
Source:
https://adamtheautomator.com/powershell-copy-to-clipboard/