Búsqueda de sitios web

Un mejor PowerShell Más


En PowerShell, cuando tengo muchos resultados, puedo usar el comando heredado more.com para mostrar los resultados en la pantalla.

Get-Process | more

No hay nada intrínsecamente malo en este enfoque. Aunque un inconveniente es que no funciona en PowerShell ISE. Sólo por esa razón decidí que necesitaba una versión PowerShell de Más. Quería un comando que tomara entradas canalizadas y escribiera la salida en "páginas" de objetos. Puedes pensar en la página como un grupo de objetos. La premisa es bastante simple: tomar los objetos entrantes y pasarlos a la canalización cuando la cantidad de objetos alcance el límite de páginas.

Mi función, Out-More, está en GitHub.

:

El recuento de páginas predeterminado es 50. Establecí un valor máximo de 1000, que es totalmente arbitrario. Quería emular el comando More.com lo mejor que pudiera para que, cuando se le solicite, pueda presionar Enter o presionar M para obtener la página siguiente o N para obtener el siguiente objeto. También puedes salir. Una cosa que mi comando puede hacer y que More.com no puede es detener la paginación y simplemente mostrar el resto de los objetos. Esto significa que puede paginar la salida de algunas pantallas y luego mostrar los objetos restantes.

He aquí un ejemplo:

get-process | sort vm -Descending | out-more -count 5 -ClearScreen

Para que quede claro aquí, esto es escribir la salida en la canalización, no en la consola. Mi expectativa es que Out-More sea el último comando en su expresión, pero podría guardar los resultados en una variable usando Tee-Object.

dir c:\work\*.ps1 | out-more -Count 25 | tee -Variable files

El archivo de script también definirá un alias de om. Debatí sobre el uso de Más, pero en realidad es una función integrada de PowerShell que envuelve More.com, así que decidí dejarla como estaba. Algunos de los parámetros del comando también tienen alias, así que tómate unos minutos para leer la ayuda.

Espero que encuentres esto tan útil como yo.

Artículos relacionados