pbcopy для Windows?

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

Как это можно сделать из cmd.exe или с помощью командлета PowerShell?

5
задан Ben N
02.05.2023 0:02 Количество просмотров материала 2661
Распечатать страницу

5 ответов

использовать что-то вроде:

someCommand | clip

, который будет передавать результат в буфер обмена windows

50
отвечен soandos 2023-05-03 07:50

Я использую командную оболочку Git Bash для Windows, и, как кто-то отметил выше, с помощью clip очень раздражает, потому что он также копирует возврат каретки в конце вывода любой команды. Поэтому я написал эту функцию для ее решения:

function cpy {
while read data; do     # reads data piped in to cpy
    echo "$data" | cat > /dev/clipboard     # echos the data and writes that to /dev/clipboard
done
tr -d '\n' < /dev/clipboard > /dev/clipboard     # removes new lines from the clipboard
}

например:

$ pwd | cpy  # copies directory path

$ git branch | cpy # copies current branch of git repo to clipboard
6
отвечен Matthew 2023-05-03 10:07

просто для справки мне пришлось скопировать мой открытый ключ сразу после того, как Bitbucket дал мне предупреждение о плохом ключе. Я смог использовать @soandos ответ так:

cat ~/.ssh/id_rsa.pub | clip скопировать мой ключ сразу от командной строки на ПК. (так как командная строка отстой по сравнению с терминалом)

2
отвечен TR3B 2023-05-03 12:24

в PowerShell просто вставьте текст в Set-Clipboard. Для быстрого набора текста можно использовать псевдоним scb. Это не добавляет дополнительный разрыв строки, как clip утилита делает.

например, эта команда помещает содержимое myfile.txt в буфер обмена:

gc .\myfile.txt | scb

обратите внимание, что для объектов, представляющих объекты файловой системы,Set-Clipboard будет копировать объект в том же смысле, что проводник делает, когда вы Ctrl + C файл. Если это не то, что вы хотели, трубы объект через Out-String первый.

0
отвечен Ben N 2023-05-03 14:41

эта функция заменяет стандартный клип Windows в Git Bash, куда копируется конечная новая строка.

function clip {
    printf "$(</dev/stdin)" | cat > /dev/clipboard
}

это основано на ответ Матфея который сохраняет только последнюю строку и вводит пустую строку. Использование printf позволяет избежать новой строки,echo добавляет.

0
отвечен Ed Chapel 2023-05-03 16:58

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх