Подтвердить что ты не робот

Ширина столбца выходной мощности Powershell

Если у меня есть exe: out.exe, а его stdout перенаправляется в файл т.е.:

out.exe > $file

Прямо сейчас, если я это делаю, он выводит только < ----------------------------- > 80 столбцов на строку в файл

есть ли способ сделать стандартный вывод более широким в подсчете столбцов консоли? это out.exe, который каким-то образом возится со столбцами. в моем случае im с использованием fxcompcmd.exe

4b9b3361

Ответ 1

Я столкнулся с подобной проблемой некоторое время назад. Вот что я сделал, чтобы исправить это:

# Update output buffer size to prevent clipping in Visual Studio output window.
if( $Host -and $Host.UI -and $Host.UI.RawUI ) {
  $rawUI = $Host.UI.RawUI
  $oldSize = $rawUI.BufferSize
  $typeName = $oldSize.GetType( ).FullName
  $newSize = New-Object $typeName (500, $oldSize.Height)
  $rawUI.BufferSize = $newSize
}

Он просто устанавливает новую ширину 500 символов в выходном буфере хоста RawUI (хотя, поскольку мы запускаем нашу сборку в нескольких средах, и мы не хотим, чтобы script сбой только потому, что он не мог сделать вывод бит больше, код довольно защищен).

Если вы запускаете в среде, которая всегда устанавливает RawUI (и большинство из них), код может быть значительно упрощен:

$Host.UI.RawUI.BufferSize = New-Object Management.Automation.Host.Size (500, 25)

Ответ 2

Оба командлета out-file и out-string имеют параметр width:

out.exe | out-file -width 132 -filePath $file

Ответ 3

В моей powershell script я установил первую строку, чтобы не выполнять возврат каретки вторая строка, которую я вручную сделал, возвратил.

(внутри цикла)

Write-Host -nonewline "$var1;$var2"

Write-Host "`r"

Это перевернуло проблему, когда моя строка была завернута, но все еще делает возврат после каждой отдельной записи.

Ответ 4

Если вы говорите о Windows PowerShell - просто откройте "Свойствa > Макет" увеличить размер буфера + размер окна

enter image description here