Ancho de la columna de salida Powershell

Si tengo un exe: out.exe y su stdout se redirige a un archivo, es decir:

out.exe > $file

Ahora mismo, si hago esto, solo muestra 80 columnas por línea en el archivo

¿Hay alguna manera de hacer que la salida estándar sea más amplia en el conteo de columnas de la consola? ¿Es el out.exe que de alguna manera está jugando con las columnas … en mi caso estoy usando fxcompcmd.exe

Me encontré con un problema similar hace un tiempo. Esto es lo que hice para solucionarlo:

 # 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 } 

Simplemente establece un nuevo ancho de 500 caracteres en el búfer de salida RawUI del host (sin embargo, dado que ejecutamos nuestra construcción en varios entornos, y no queríamos que el script fallara solo porque no podía hacer que la salida fuera un poco más grande, el código es bastante defensivo).

Si se ejecuta en un entorno que siempre establece RawUI (y la mayoría lo hace), el código se puede simplificar enormemente:

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

Los cmdlets out-file y out-string tienen un parámetro de width :

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

Si está hablando de Windows PowerShell, solo abra “propiedades> Diseño”, aumente el tamaño del búfer + tamaño de la ventana

enter image description here

En mi secuencia de comandos de powershell, configuré la primera línea para no hacer los retornos de carro en la segunda línea que hice manualmente una devolución.

(dentro de un bucle)

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

Eso anuló el problema con tener mi línea envuelta pero aún haciendo una devolución después de cada registro individual.