Как скопировать строку в буфер обмена Powershell? Linux/Windows/Mac
Я нахожусь в процессе написания модуля powershell, цель которого распространяться, и я ищу кроссплатформенный (Win/Linux/MacOS) powershell≥5.0
Решение скопировать сгенерированную строку в буфер обмена системы.
Env
> $PSVersionTable
Name Value
---- -----
PSVersion 6.1.2
PSEdition Core
GitCommitId 6.1.2
OS Linux 4.15.0-43-generic #46-Ubuntu SMP Thu Dec 6 14:45:28 UTC 2018
Platform Unix
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
WSManStackVersion 3.0
Set-Clipboard
PS ~/projects/lesspass-powershell> Get-Random | Set-Clipboard
Set-Clipboard : The term 'Set-Clipboard' is not recognized as the name of a cmdlet, function, script file, or operable program.
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:14
+ Get-Random | Set-Clipboard
+ ~~~~~~~~~~~~~
+ CategoryInfo
: ObjectNotFound : (Set-Clipboard:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
Write-Clipboard
PS ~/projects/lesspass-powershell> Get-Random | Write-Clipboard
Write-Clipboard : The term 'Write-Clipboard' is not recognized as the name of a cmdlet, function, script file, or operable program.
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:14
+ Get-Random | Write-Clipboard
+ ~~~~~~~~~~~~~~~
+ CategoryInfo
: ObjectNotFound : (Write-Clipboard:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
Out-Clipboard
PS ~/projects/lesspass-powershell> Get-Random | Out-Clipboard
Out-Clipboard : The term 'Out-Clipboard' is not recognized as the name of a cmdlet, function, script file, or operable program.
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:14
+ Get-Random | Out-Clipboard
+ ~~~~~~~~~~~~~
+ CategoryInfo
: ObjectNotFound : (Out-Clipboard:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
1 ответ
Решение
Решение: установить модуль
Вы можете установить дополнительный модуль ClipboardText
Найти команду
На Windows (PS v5.1
) чтобы узнать, какой модуль содержит эти команды:
PS> get-module | ?{$_.ExportedCommands.Keys -like '*-Clipboard'}
ModuleType Version Name ExportedCommands
---------- ------- ---- ----------------
Manifest 3.1.0.0 Microsoft.PowerShell.Management {Add-Computer, Add-Content, Checkpoint-Computer, Clear-Content...}
Script 3.2.0.0 Pscx {Add-PathVariable, Clear-MSMQueue, Convert-Xml, ConvertFrom-Base64...}
Тем не менее, этот результат пуст на PS v6.1 core
!
get-module Microsoft.PowerShell.Management,pscx | ?{$_.ExportedCommands.Keys -like '*-Clipboard'}