Как копировать вставку содержимого через буфер обмена в PowerShell

Мы используем копирование/вставку почти каждый день во многих используемых нами приложениях. Я даже намного чаще использую Win + V, так как в Windows 10 появилась новая функция истории буфера обмена. Но как нам справиться с тем же самым в среде PowerShell, например, отправить результат прямо в буфер обмена?

Хотя трюк с клипом все еще работает, есть гораздо лучший способ с помощью два собственных командлета PowerShell, Set-Clipboard и Get-Clipboard .

Set-Clipboard

Командлет Set-Clipboard заменяет clip.exe, но ведет себя точно так же, и даже больше. Вы по-прежнему можете направить вывод в буфер обмена.

 PS> $ env: ComputerName |  Set-Clipboard 

Поскольку в Set-Clipboard есть переключатель Append , вы можете добавлять больше содержимого в текущий буфер обмена, не удаляя предыдущие.

 PS> $ env: SystemRoot |  Set-Clipboard -Append 

Помимо передачи вывода в командлет, вы также можете напрямую использовать командлет для сохранения строки в буфер обмена.

 PS> Set  -Clipboard -Value «Отправка строки текста в буфер обмена» 

Или напрямую скопируйте любой из элементов в буфер обмена, указав его путь.

 PS> Установить  -Clipboard -Path "h:  scripts" 

Get-Clipboard

Теперь давайте посмотрим, как получить содержимое из буфера обмена с помощью командлета Get-Clipboard .

Поскольку в буфер обмена копируются разные типы содержимого, нам нужно будет использовать разные параметры формата, чтобы различать их.

Видите последний образец, копирующий папку в буфер обмена? Вам нужно будет использовать формат FileDropList, чтобы извлечь его из буфера обмена.

 PS> Get-Clipboard -format FileDropList 

А как насчет изображения? Используйте формат изображения.

 PS> Get-Clipboard -format image 

Таким образом, вы можете получить различные свойства изображения.

Как насчет того, чтобы очистить буфер обмена?

К сожалению, поскольку Set -Clipboard не принимает нулевое значение, мы все еще застряли по старинке.

 cmd/c "echo off | clip" 

Последнее примечание: командлеты Set-Clipboard и Get-Clipboard доступны в PowerShell 5.0, но, к сожалению, могут быть недоступны в PowerShell Core или версии 6.

Оцените статью
toodcast.ru
Добавить комментарий