PowerShell से पाठ की प्रतिलिपि कैसे करें


56

कभी-कभी मैं एक दस्तावेज़ में पेस्ट करने के लिए पॉवर्सशेल से एक कमांड कॉपी करना चाहता हूं, या मैं आउटपुट की प्रतिलिपि बनाना चाहता हूं? मैं Powershell में पाठ का चयन और प्रतिलिपि कैसे कर सकता हूं?

कम से कम मुझे पॉवरशेल में टेक्स्ट (या कमांड) पेस्ट करने का तरीका पता है: आप पॉवर्स पर राइट-क्लिक करें।


2
आप गैर-SharePoint संबंधित उत्तरों को अधिक जेनेरिक स्टैक ओवरफ़्लो साइट पर ले जाना चाह सकते हैं। मैं सराहना करता हूं कि आप शायद SharePoint के साथ संयोजन में PowerShell का उपयोग कर रहे हैं, लेकिन यह प्रश्न यहां नहीं हैं।
जीरो रीतमीजर

मैं सहमत हूँ। यह शुद्ध शेयरपॉइंट का सवाल नहीं है।

जवाबों:


49

बस कंसोल विंडो में पाठ का चयन करें और एंटर या राइट माउस बटन दबाएं। वह चयनित पाठ आपके क्लिपबोर्ड में समाप्त होता है।

ध्यान दें कि यह तभी काम करेगा जब QuickEdit मोड कंसोल विंडो के लिए सक्षम हो। यदि यह नहीं है, तो इसे या तो कंसोल विंडो गुणों (सिस्टम मेनू → गुण → विकल्प) में सक्षम करें या सिस्टम मेनू के माध्यम से मार्क मोड दर्ज करें → संपादित करें → मार्क (Alt + Space, E, K एक अंग्रेजी विंडोज पर)।


पाठ को हाइलाइट करने के लिए शिफ्ट कुंजी का उपयोग करना (पाठ सफेद हो जाता है) मेरे लिए काम नहीं करता था। मुझे पाठ को उजागर करने के लिए माउस का उपयोग करना था (पाठ नारंगी हो जाता है)
रेगेग्युगिटर

25

या क्लिपबोर्ड का उपयोग करके सीधे अपने कमांड के आउटपुट को क्लिपबोर्ड पर भेजें। उदाहरण के लिए,

Get-ChildItem C:\Test -recurse | Clip

क्लिप ia अच्छा विकल्प के साथ एक पाइप भी! धन्यवाद!

7
हालांकि यह यूनिकोड के साथ काम नहीं करेगा। उस स्थिति में आप Set-ClipboardPSCX से उपयोग कर सकते हैं ।
जॉय

7
clip.exeयूनिकोड को सही तरीके से संभालने का एक तरीका है: पीएस के $OutputEncodingचर को $OutputEncoding = New-Object System.Text.UnicodeEncoding($false, $false)
BOM-

यह आखिरी चाल है जो मैंने यहाँ आने के लिए देखी!
साभार:)


2

मेनूबार पर जाएं, ऊपर बाएं, संपादित करें , सभी का चयन करें , कॉपी करें , नोटपैड में पेस्ट करें


1

मैंने इसके लिए अपनी स्वयं की क्लिप-क्लिप का निर्माण किया है।

Function Out-Clipboard{
    param($Value,[switch]$PassThru) 
    begin {
            [void][reflection.assembly]::LoadWithPartialName("Windows.Forms")
        $tb = New-Object System.Windows.Forms.TextBox
        $tb.Multiline = $true
        $pipeObjects = @()
    }
    process {
      $pipeObjects+=$_
    }
    end {
        if([string]::IsNullOrEmpty($Value)){
            $text=$null
            $pipeObjects | out-string -stream | %{$text = $text + $(if($text -ne $null){"`r`n"}) + $_}
            $tb.text = $text
        } 
        else {
            $tb.text = $value
        }
        $tb.SelectAll()
        $tb.Copy()
        if($PassThru){
            $pipeObjects
        }
        $tb.Dispose()
    }
}

नमूना कमांड लाइन:

Get-Process | Out-Clipboard

आशा है कि यह वही है जो आप खोज रहे हैं।


आपका कोड मेरे बॉक्स पर काम नहीं करता है: नई-वस्तु: प्रकार नहीं मिल सकता है [System.Windows.Forms.TextBox]: सुनिश्चित करें कि इस प्रकार की असेंबली भरी हुई है। लाइन में: 5 char: 25 + $ tb = नया-वस्तु <<<< System.Windows.Forms.TextBox + CategoryInfo: InvalidType: (:) [नई-वस्तु], PSArgumentException + FullQualualErrorId: TypeNotFound, Microsoft.PowerShell.Commands .NewObjectCommand

1
यदि आप pscx.codeplex.com की जांच करते हैं , तो सामुदायिक एक्सटेंशन द्वारा प्रदान किए गए कार्यों में से एक क्लिपबोर्ड है

1
यह बहुत प्रभावशाली है, @CosmosKey! Pscx.codeplex.com, @Winfred का उल्लेख करने के लिए धन्यवाद!
अनातोली मिरोनोव

1

Set-ClipboardPowershell v5.0 के रूप में मानक cmdlet है। कुछ मामलों में आपको Out-Stringक्लिपबोर्ड पर परिणाम डालने से पहले वस्तुओं को पाठ में बदलना चाहिए :

Get-ChildItem C:\Windows -recurse -depth 1 | Out-String -stream | Set-Clipboard

0

यदि आप क्लिपबोर्ड पर टाइप की गई अंतिम कमांड को कॉपी करना चाहते हैं, तो निम्न कमांड उपयोगी है (विशेष रूप से कमांड के लिए जो कई लाइनों को फैलाती है):

(Get-History -Count 1).CommandLine | Set-Clipboard

यदि आप अंतिम कमांड को दोहराना चाहते हैं, और इसके आउटपुट को क्लिपबोर्ड पर कॉपी करते हैं, तो उपयोग करें:

Invoke-History | Set-Clipboard

कैविएट: आपको यह बिना किसी साइड-इफेक्ट्स के केवल सस्ती और बेकार आज्ञाओं के लिए करना चाहिए।

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