Powershell - возврат каретки вставляется в вывод, когда я использую '>' - PullRequest
2 голосов
/ 22 ноября 2011

Как мне запретить этой команде сбросить возврат каретки в мой вывод:

get-content inFILE | строка выбора "строка"> outFILE

Текст, который не был обернут или отсутствует возврат каретки, неожиданно имеет возврат каретки с 80-м символом в строке. Есть ли какая-либо директива, которую я могу использовать, чтобы помешать ей сделать это с моим выводом?

Ответы [ 3 ]

5 голосов
/ 22 ноября 2011

Используйте set-content вместо > (что совпадает с out-file)

0 голосов
/ 30 октября 2015

Ok - обнаружил, что использование параметра -width для out-file решает эту проблемуЭто также подтверждает мои наблюдения относительно размера окна / буфера, влияющего на вывод.-Width Определяет количество символов в каждой строке вывода.Любые дополнительные символы усекаются, а не переносятся.Если этот параметр не указан, ширина определяется характеристиками хоста.По умолчанию для консоли Windows PowerShell используется значение 80 (символов).

0 голосов
/ 30 октября 2015

Мой опыт показывает, что расположение вставленного CR / LF зависит от размера буфера или окна окна PowerShell. Когда я изменяю значения, местоположение CR / LF изменяется, так что оно не кажется основанным. по умолчанию 80. Использование предложенного> вместо внешнего файла не изменило поведение.

Коллоги Get-ChildItem -Filter "* -log" -Recurse | Выберите строку -Pattern "SWIRcnd"> "C: \ temp \ RecResults3.txt"

Имя Значение ---- ----- PSVersion 3.0 WSManStackVersion 3.0 SerializationVersion 1.1.0.1 CLRVersion 4.0.30319.18444 BuildVersion 6.2.9200.16398 PSCompatibleVersions {1.0, 2.0, 3.0} PSRemotingProtocolVersion 2.2

...