简体   繁体   中英

How to see all the columns in the Powershell in the Format-Table, regardless of the number of columns. (Missing columns)

How to see all the columns in the Powershell in the Format-Table, regardless of the number of columns? Scrolling Horizontally would be more preferable to see all the missing columns.

This shows the names of the all the columns :

$rows = Get-NetUDPEndpoint; $rows[0].psobject.Properties.Name;

All the columns in total

But, Here are many missing columns :

 Get-NetUDPEndpoint| select * | ft -Autosize

Get-NetUDPEndpoint has more than 15 columns by default, but not all of them are shown in format-Table

How can we show all the columns with Format-Table? All viable answers are appreciated

Note: If using a GUI window to display the table is acceptable, consider Santiago Squarzon's suggestion to use Out-GridView , which does support horizontal scrolling:

# Shows table in a GUI window.
Get-NetUDPEndpoint| Select-Object * | Out-GridView 

With the help of Out-String and its -Width parameter, you can make Format-Table use the specified line width instead of the current console window's (buffer) width:

# Choose a high enough number to pass to -Width.
# Note: Typically doesn't render meaningfully *on screen* - see below.
Get-NetUDPEndpoint | Format-Table * | Out-String -Width 1024
  • If you pipe the result to a file and view it in a text editor, you'll get the desired horizontal scrolling.

  • However, in the console (terminal), lines longer than the width of the console window (buffer) will wrap , hurting readability.

Only regular console windows ( conhost.exe ) on Windows offer a solution to that : Set the window buffer width to the same with:

# Note: Works in regular console windows on Windows only.
& {
  param($width)
  [Console]::BufferWidth = $with
  Get-NetUDPEndpoint | Format-Table * | Out-String -Width $width
} 1024

Unfortunately, the above does not work:

  • In terminals on Unix-like platforms, there is no concept of a buffer width that can be larger than the window width, so trying to set a buffer width causes an exception, and line wrapping occurs for lines that exceed the window width.

  • Windows Terminal does allow setting the buffer width, which can prevent wrapping, but then doesn't support horizontal scrolling - the lack of this feature is debated in GitHub issue # .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM