я можу отримати PowerShell належним чином копіювати багаторядковий текст, як Bash в Ubuntu?


0

Я використовую Ubuntu VM вдома для розвитку Rails, і я отримав трохи зіпсований Bash. Коли я копію багаторядковий текст з Bash, здається, що дуже добре знати, що текст є одним рядком або багаторядковий, коли я копію його.

У Powershell (розміщеному в Console2) на Win7, я не отримую такої поведінки. Зверніть увагу на те, як у цьому повідомленні про помилку скоротиться два значення HRESULT (прокрутіть праворуч):

c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets(1558,9): warning MSB3284: Cannot get the file
path for type library "fdca4b6c-605a-4b76-adce-68010c4a2581" version 4.0. Library not registered. (Exception from HRESU
LT: 0x8002801D (TYPE_E_LIBNOTREGISTERED)) [C:\Dev\Foo.csproj]

Чи є спосіб отримати Powershell, щоб з'ясувати, що він не повинен скоротити слова навпіл? Чи така поведінка доступна лише в Bash, і я повинен просто використовувати Bash у Windows (можливо, CygWin)?


Як це працює в ISE?
uSlackr

Відповіді:


2

Я знаю, що це не вирішує проблему безпосереднього копіювання тексту, який вже був надрукований у консоль, але один із варіантів полягає в тому, щоб передати вихід на Out-String -Width <columns> , щоб запобігти загортанню довгих рядків. Потім пропустіть вихід до clip.exe щоб скопіювати його в буфер обміну.

Якщо, наприклад, я ввів недійсну команду, і я отримаю повідомлення про помилку, яке хочу скопіювати:

PS> Blah
The term 'Blah' is not recognized as the name of a cmdlet, function, script file, or operable
program. Check the spelling of the name, or if a path was included, verify that the path is
correct and try again.
At line:1 char:1
+ Blah
+ ~~~~
    + CategoryInfo          : ObjectNotFound: (Blah:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

Я можу отримати останнє повідомлення про помилку $Error[0],

$Error[0]| Out-String -Width 10000| clip.exe

і це те, що я отримую, коли я вставляю в блокнот (зверніть увагу, що перший рядок не загорнутий).

The term 'Blah' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:1
+ Blah
+ ~~~~
    + CategoryInfo          : ObjectNotFound: (Blah:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

Звичайно більше роботи, ніж я хотів зробити, але тверда відповідь, спасибі.
jcollum

0

Поведінка копіювання Powershell заснована на блоках, а не на основі ліній, і, на жаль, вона не може з'єднати загорнуті лінії разом. Однак, хоча мені подобається bash (і fish) для сценаріїв, глибока інтеграція Powershell з службами Windows і серверами робить його більш доречним для використання, незважаючи на те, що він менш здатний. Можливо, хтось інший знає про заміну Powershell, яка зберігає інтеграцію з об'єктами Windows, але також має кращий інтерфейс; Я не.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.