Ширина столбца выходной мощности Powershell
Если у меня есть exe: out.exe, а его stdout перенаправляется в файл
т.е.:
out.exe > $file
Прямо сейчас, если я это делаю, он выводит только
< ----------------------------- > 80 столбцов на строку в файл
есть ли способ сделать стандартный вывод более широким в подсчете столбцов консоли?
это out.exe, который каким-то образом возится со столбцами.
в моем случае im с использованием fxcompcmd.exe
Ответы
Ответ 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]()