Usamos copiar / pegar casi todos los días a través de muchas de las aplicaciones que usamos. Incluso uso mucho más Win + V desde que Windows 10 introdujo la nueva función de historial del portapapeles. Pero, ¿cómo nos ocupamos de lo mismo en un entorno de PowerShell, como enviar un resultado directamente al portapapeles?
Si bien el truco del clip aún funciona, hay una manera mucho mejor con la ayuda de dos cmdlets nativos de PowerShell, Portapapeles y Get-Clipboard.
Portapapeles
El cmdlet Set-Clipboard es el reemplazo de clip.exe pero se comporta de la misma manera y más. Aún puede canalizar la salida para enviar el resultado al portapapeles.
PS> $env:ComputerName | Set-Clipboard
Ya que Portapapeles tiene un Adjuntar cambiar, puede agregar más contenido al portapapeles actual sin eliminar los anteriores.
PS> $env:SystemRoot | Set-Clipboard -Append
Además de canalizar la salida al cmdlet, también puede usar el cmdlet directamente para guardar una cadena en el portapapeles.
PS> Set-Clipboard -Value "Sending a string of text to the clipboard"
O copie directamente cualquiera de los elementos al portapapeles especificando su ruta.
PS> Set-Clipboard -Path "h:scripts"
Get-Clipboard
Ahora veamos cómo sacar el contenido del portapapeles usando el cmdlet Get-Clipboard.
Dado que hay diferentes tipos de contenido que se copian en el portapapeles, necesitaremos usar diferentes parámetros de formato para diferenciarlos.
¿Ves la última muestra que copia la carpeta en el portapapeles? Deberá utilizar el formato FileDropList para recuperarlo del portapapeles.
PS> Get-Clipboard -format FileDropList
¿Qué tal una imagen? Utilice el formato de imagen.
PS> Get-Clipboard -format image

De esta forma, puede recuperar varias propiedades de la imagen.
¿Qué tal vaciar el portapapeles?
Desafortunadamente, desde Portapapeles no toma el valor nulo, todavía estamos atascados a la antigua.
cmd /c "echo off | clip"
Por último, los cmdlets Set-Clipboard y Get-Clipboard están disponibles en PowerShell 5.0 pero, lamentablemente, es posible que no estén disponibles en PowerShell Core o Versión 6.