विंडोज के लिए pbcopy?


42

MacOSX में एक कमांड है जो कमांड के आउटपुट को क्लिपबोर्ड पर पाइप कर सकता है ताकि इसे GUI में कहीं और चिपकाया जा सके।

यह cmd.exe से या PowerShell cmdlet के साथ कैसे किया जा सकता है?

जवाबों:


62

कुछ का उपयोग करें:

someCommand | clip

यह विंडोज़ क्लिपबोर्ड पर परिणाम को पाइप करेगा


अच्छा सुझाव। यह एक मानक विंडोज उपयोगिता है। अधिकांश प्रणालियों पर, यह पर है C:\Windows\system32\clip.exe
निकोल हैमिल्टन

@Nicole Hamilton सही है, लेकिन चूँकि वह PATH चर का हिस्सा है, इसलिए इसे स्पष्ट करने की आवश्यकता नहीं है
soandos

मेरी बात और आपके द्वारा दिए गए कारण का एक हिस्सा यह था कि मुझे यह पसंद आया कि आपने एक मानक विंडोज उपयोगिता का सुझाव दिया था, न कि ओपी को कहीं से डी / एल चाहिए था। ज्यादातर लोग PATH के बारे में जानते हैं।
निकोल हैमिल्टन

3
पोस्टरिटी के लिए, यदि आप किसी फ़ाइल की सामग्री चाहते हैं, तो वह somefile.txt टाइप करें क्लिप '
ferventcoder

2
वार्षिक रूप से विंडोज़ इको एक \ r \ n जोड़ता है और इसमें कोई प्रतिध्वनि नहीं होती ... इसलिए "इको टेस्ट | क्लिप" कॉपी बफर में टेस्ट \ r \ n होगा ... इको | सेट / पी = "टेस्ट" | क्लिप .. इस सकल को
hpavc

6

मैं विंडोज के लिए गिट बैश कमांड शेल का उपयोग कर रहा हूं, और जैसा कि किसी ने ऊपर उल्लेख किया है, का उपयोग 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

अच्छा था। यदि आपके पास GNU win32 बर्तन हैं तो आप लाइन ब्रेक को ट्रिम कर सकते हैं trऔर फिर भी उपयोग कर सकते हैं clip, जैसे:pwd | tr -d \r\n | clip
बेन सिंक्लेयर

2

सिर्फ संदर्भ के लिए मुझे अपनी सार्वजनिक कुंजी को सीधे कॉपी करना पड़ा था क्योंकि बिटकबेट मुझे एक खराब कुंजी चेतावनी दे रहा था। मैं @soandos उत्तर का उपयोग करने में सक्षम था जैसे:

cat ~/.ssh/id_rsa.pub | clipएक पीसी पर कमांड लाइन से सीधे मेरी कुंजी कॉपी करने के लिए। (चूंकि कमांड लाइन टर्मिनल की तुलना में बेकार है)


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ऑब्जेक्ट को उसी अर्थ में कॉपी करेंगे जो एक्सप्लोरर तब करता है जब आप फ़ाइल को Ctrl + C करते हैं। यदि वह नहीं है जो आप चाहते थे, तो Out-Stringपहले के माध्यम से ऑब्जेक्ट को पाइप करें ।


0

यह फ़ंक्शन Git Bash में मानक Windows क्लिप को प्रतिस्थापित करता है जहां एक अनुगामी न्यूलाइन कॉपी की जाती है।

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

यह मैथ्यू के उत्तर पर आधारित है जो केवल अंतिम पंक्ति को संरक्षित करता है और एक अनुगामी न्यूलाइन प्रस्तुत करता है। का उपयोग printfकर नई लाइन से बचता है echo

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.