MacOSXには、コマンドの出力をクリップボードにパイプして、GUIの他の場所に貼り付けることができるコマンドがあります。
これはどのようにcmd.exeから、またはPowerShellコマンドレットで実行できますか?
次のようなものを使用してください:
someCommand | clip
結果をWindowsクリップボードにパイプします
私はGit Bashコマンドシェルfor 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
参考までに、Bitbucketから不正なキーの警告が出された直後に、公開キーをコピーする必要がありました。私は@soandosの答えを次のように使用することができました:
cat ~/.ssh/id_rsa.pub | clip
キーをPCのコマンドラインから直接コピーします。 (コマンドラインは端末と比較して吸うので)
WSL/bashで使用します。追加 ~/.bashrc
:
function pbcopy() {
printf $(</dev/stdin) | clip.exe
}
export -f pbcopy
この関数は、末尾の改行がコピーされるGit Bashの標準のWindowsクリップを置き換えます。
function clip {
printf "$(</dev/stdin)" | cat > /dev/clipboard
}
これは Matthew's answer に基づいており、最後の行のみが保持され、末尾に改行が導入されます。 printf
を使用すると、echo
が追加する改行が回避されます。
PowerShellでは、テキストを Set-Clipboard
にパイプするだけです。入力を高速化するには、エイリアスscb
を使用できます。これは、clip
ユーティリティのように余分な改行を追加しません。
たとえば、次のコマンドはmyfile.txt
の内容をクリップボードに入れます。
gc .\myfile.txt | scb
ファイルシステムオブジェクトを表すオブジェクトの場合、Set-Clipboard
は、ファイルをCtrl + Cしたときにエクスプローラーが行うのと同じ意味でオブジェクトをコピーすることに注意してください。それが希望どおりでない場合は、最初にオブジェクトをOut-String
にパイプしてください。