当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 更好的 PowerShell 更多

作者:精品下载站 日期:2024-12-14 07:47:46 浏览:15 分类:玩电脑

更好的 PowerShell 更多


在 PowerShell 中,当我有大量输出时,我可以使用旧版 more.com 命令将结果分页到屏幕上。

Get-Process | more

这种方法本身并没有什么问题。但它的一个缺点是它无法在 PowerShell ISE 中运行。仅出于这个原因,我决定需要 PowerShell 版本的 More。我想要一个命令,它可以接受管道输入并将输出写入对象的“页面”中。您可以将页面视为一组对象。前提很简单:获取传入的对象,当对象数量达到页面限制时将它们传递到管道。

我的函数 Out-More 位于 GitHub 上。

:

默认页数是 50。我设置的最大值是 1000,这完全是任意的。我想尽可能地模拟 More.com 命令,这样当系统提示您时,您可以按 Enter 或按 M 获取下一页,或按 N 获取下一个对象。您也可以退出。我的命令可以做但 More.com 不能做的一件事是停止分页并简单地显示其余对象。这意味着您可以对几个屏幕进行分页输出,然后显示剩余的对象。

这是一个例子:

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

[玩转系统] 更好的 PowerShell 更多

这里需要明确的是,这是将输出写入管道而不是控制台。我的期望是 Out-More 将是表达式中的最后一个命令,但您可以使用 Tee-Object 将结果保存到变量中。

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

[玩转系统] 更好的 PowerShell 更多

该脚本文件还将定义一个别名 om。我曾考虑过是否要使用 More,但这实际上是一个封装 More.com 的内置 PowerShell 函数,所以我决定不去管它。一些命令参数也有别名,因此请花几分钟阅读帮助。

我希望你和我一样觉得这很有用。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯