pbcopy สำหรับ Windows?


42

ใน MacOSX มีคำสั่งที่สามารถไพพ์เอาท์พุทของคำสั่งไปยังคลิปบอร์ดเพื่อให้สามารถวางที่อื่นใน GUI ได้

วิธีนี้สามารถทำได้จาก cmd.exe หรือ cmdlet PowerShell

คำตอบ:


62

ใช้สิ่งที่ชอบ:

someCommand | clip

ที่จะไพพ์ผลลัพธ์ไปยังคลิปบอร์ดของ windows


คำแนะนำที่ดี นี่เป็นยูทิลิตี้ Windows มาตรฐาน C:\Windows\system32\clip.exeในระบบส่วนใหญ่มันจะอยู่ที่
นิโคลแฮมิลตัน

@NicoleHamilton ถูกต้อง แต่เนื่องจากเป็นส่วนหนึ่งของตัวแปร PATH จึงไม่จำเป็นต้องชัดเจน
soandos

จุดของฉันและส่วนหนึ่งของเหตุผลที่ฉันให้ upvote คือฉันชอบที่คุณต้องการแนะนำยูทิลิตี้ Windows มาตรฐานไม่ใช่สิ่งที่ OP ควรจะ d / l จากที่ไหนสักแห่ง คนส่วนใหญ่รู้เกี่ยวกับ PATH
นิโคลแฮมิลตัน

3
สำหรับรุ่นหลังหากคุณต้องการเนื้อหาของไฟล์มันเป็น 'พิมพ์ somefile.txt | คลิป '
ferventcoder

2
ที่น่ารำคาญ windows echo เพิ่ม \ r \ n และไม่มี echo -n ... ดังนั้น "echo test | clip" จะมีการทดสอบ \ r \ n ในบัฟเฟอร์การคัดลอก ... echo | set / p = "test" | clip .. กล่าวถึงขั้นต้น
hpavc

6

ฉันใช้เชลล์คำสั่ง Git Bash สำหรับ Windows และอย่างที่ใครบางคนกล่าวไว้ข้างต้นการใช้งานclipนั้นน่ารำคาญมากเพราะมันก็อปปี้ carriage return ในตอนท้ายของเอาต์พุตของคำสั่งใด ๆ ดังนั้นฉันจึงเขียนฟังก์ชันนี้เพื่อที่อยู่:

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

สิ่งที่ดี. หากคุณมี GNU win32 utils ติดตั้งอยู่คุณสามารถตัดทอนตัวแบ่งบรรทัดด้วยtrและยังคงใช้clipเช่น:pwd | tr -d \r\n | clip
เบ็นซินแคลร์

2

เพียงเพื่อการอ้างอิงฉันต้องคัดลอกกุญแจสาธารณะของฉันโดยตรงหลังจาก Bitbucket ให้คำเตือนรหัสที่ไม่ดีแก่ฉัน ฉันสามารถใช้ @soandos คำตอบเช่นนั้น:

cat ~/.ssh/id_rsa.pub | clipเพื่อคัดลอกคีย์ของฉันโดยตรงจากบรรทัดคำสั่งบนพีซี (เนื่องจากบรรทัดคำสั่ง sucks เทียบกับเทอร์มินัล)


1

เพื่อใช้ในการWSL / ทุบตี เพิ่มไปที่~/.bashrc:

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

0

ใน PowerShell Set-Clipboardเพียงท่อข้อความลงใน scbสำหรับการพิมพ์ได้อย่างรวดเร็วคุณสามารถใช้นามแฝง สิ่งนี้ไม่ได้เพิ่มตัวแบ่งบรรทัดพิเศษเหมือนกับที่clipยูทิลิตี้ทำ

ตัวอย่างเช่นคำสั่งนี้วางเนื้อหาของmyfile.txtบนคลิปบอร์ด:

gc .\myfile.txt | scb

โปรดทราบว่าสำหรับวัตถุที่เป็นตัวแทนวัตถุระบบไฟล์Set-Clipboardจะคัดลอกวัตถุในลักษณะเดียวกับที่ Explorer ทำเมื่อคุณ Ctrl + C ไฟล์ ถ้านั่นไม่ใช่สิ่งที่คุณต้องการให้ส่งวัตถุผ่านOut-Stringก่อน


0

ฟังก์ชั่นนี้แทนที่คลิป Windows มาตรฐานใน Git Bash ที่บรรทัดใหม่ต่อท้ายจะถูกคัดลอก

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

สิ่งนี้ขึ้นอยู่กับคำตอบของ Matthewที่เก็บบรรทัดสุดท้ายและแนะนำบรรทัดใหม่ที่ต่อท้าย ใช้printfเลี่ยงการขึ้นบรรทัดใหม่ที่echoเพิ่ม

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.