Как скопировать строку в буфер обмена Powershell?Linux / Windows / Mac - PullRequest
0 голосов
/ 22 января 2019

Я нахожусь в процессе написания модуля powershell, цель которого распространяться, и я ищу кросс-платформенное (Win / Linux / MacOS) powershell ≥5.0 решение для копирования сгенерированная строка в системный буфер обмена.

ко

> $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 Ответ

0 голосов
/ 22 января 2019

Решение: установить модуль

Вы можете установить дополнительный модуль 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'}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...