Windows için pbcopy?


42

MacOSX'te, bir komutun çıktısını panoya yönlendiren bir komut vardır, böylece GUI'de başka bir yere yapıştırılabilir.

Bu, cmd.exe'den veya PowerShell cmdlet'inden nasıl yapılabilir?

Yanıtlar:


62

Gibi bir şey kullanın:

someCommand | clip

Bu sonucu pencerenin panosuna yönlendirir


İyi öneri. Bu standart bir Windows yardımcı programıdır. Çoğu sistemde öyle C:\Windows\system32\clip.exe.
Nicole Hamilton

@NicoleHamilton haklı, ama bu PATH değişkeninin bir parçası olduğundan, açıkça yapılması
gerekmeyen

Amacım ve size bir artı ifade etmemin bir nedeni, OP'nin bir yerden bir yerde olması gereken standart bir Windows yardımcı programını önermekten hoşlanmamdı. Çoğu insan PATH'i bilir.
Nicole Hamilton

3
Posterity için, bir dosyanın içeriğini istiyorsanız, 'somefile.txt | klip '
ferventcoder

2
Sinir bozucu pencereler yankı ekler, \ r \ n ekler ve yankı yok ... bu nedenle "eko testi | clip" kopya arabelleğinde \ r \ n testi olacak ... echo | set / p = "test" | clip. .. bu brüt
hpavc

6

Git Bash komut kabuğunu Windows için kullanıyorum ve yukarıda da belirtildiği gibi, clipkullanımı çok can sıkıcı, çünkü herhangi bir komutun sonunda satırbaşını kopyalıyor. Ben de bu fonksiyonu ele almak için yazdım:

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
}

Yani örneğin:

$ pwd | cpy  # copies directory path

$ git branch | cpy # copies current branch of git repo to clipboard

İyi bir. Eğer GNU win32 utils yüklü ise, satır sonunu trclippwd | tr -d \r\n | clip
Ben Sinclair

2

Sadece referans olarak, Bitbucket bana kötü bir anahtar uyarısı verdikten sonra doğrudan açık anahtarımı kopyalamak zorunda kaldım. @Soandos cevaplarını şöyle kullanabildim:

cat ~/.ssh/id_rsa.pub | clipAnahtarımı doğrudan PC'deki komut satırından kopyalamak için. (komut satırı terminal ile karşılaştırıldığında berbat olduğundan)


1

WSL / bash'te kullanım için . Ekle ~/.bashrc:

function pbcopy() {
    printf $(</dev/stdin) | clip.exe
}
export -f pbcopy

0

PowerShell'de, metni yalnızca içine aktarın Set-Clipboard. Hızlı yazmak için takma adı kullanabilirsiniz scb. Bu clipyardımcı program gibi ekstra bir satır sonu eklemiyor.

Örneğin, bu komut myfile.txtpanodaki içeriğini koyar :

gc .\myfile.txt | scb

Dosya sistemi nesnelerini temsil eden nesneler için, Set-Clipboardbir dosyayı Ctrl + C tuşlarına basarken, Explorer'ın yaptığı şekilde nesneyi kopyalayacağını unutmayın. İstediğin bu değilse, önce nesneyi yönlendir Out-String.


0

Bu işlev, takip eden bir yeni satırın kopyalandığı Git Bash'deki standart Windows klibinin yerine geçer.

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

Bu, Matthew'ün sadece son çizgiyi koruyan ve takip eden bir yeni satır tanıtan cevabına dayanıyor . Kullanmak printf, echoeklenen yeni satırı engeller .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.