Выход Powershell - PullRequest
       11

Выход Powershell

2 голосов
/ 24 июня 2009

У меня небольшая проблема с управлением выводом в пс. Вот строка кода, о которой идет речь;

$result|sort-object cn  | format-table -wrap -autosize 

Если я добавлю

| out-file $logfile

последний столбец моего вывода обрезан. Теперь я знаю, что если я изменил ширину моего консольного сеанса и снова запустил скрипт, мой вывод в порядке, но должен быть лучший способ сделать это? Я также пытался использовать add-content, но мне кажется, что я что-то упустил, так как выражение неправильно вычисляется, и я просто получаю серию ссылок на system-object в моем лог-файле.

Ответы [ 2 ]

4 голосов
/ 24 июня 2009

Вы можете использовать параметр -width для командлета out-file. Вы можете попробовать 500-ширину вне файла, чтобы ничего не обрезалось.

1 голос
/ 26 октября 2011

Лучший способ, который я определил до сих пор, это использовать Out-String с -Width больше, чем вы ожидаете, что вся строка будет:

$result | Format-Table -Autosize | Out-String -Width 4096

Единственная проблема с вышесказанным состоит в том, что он заполнит всю строку пробелами. Чтобы обойти это, добавьте ключ -Stream и .Trim () в каждой строке:

$result | Format-Table -Autosize | Out-String -Width 4096 -Stream | %{ $_.Trim() }

Это также удобно для передачи результатов в буфер обмена с помощью clip.exe (если у меня не установлен модуль PSCX с командой Out-Clipboard):

$result | Format-Table -Autosize | Out-String -Width 4096 -Stream | %{ $_.Trim() } | clip.exe
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...