gpt4 book ai didi

PowerShell:CLI 中的页眉、页脚和/或框架

转载 作者:行者123 更新时间:2023-12-04 01:14:48 25 4
gpt4 key购买 nike

通过命令行界面运行一系列脚本时,有没有办法在正文滚动当前运行脚本的详细反馈时添加页眉和页脚?

header 将包含有关当前正在运行的脚本的信息。页脚将向用户提供有关控制某些脚本以及如何暂停或停止脚本的信息。

如果有这样的东西存在,有什么想法吗?

最佳答案

您可以更改窗口标题,它的功能有点像标题 - 虽然我不知道它是否会为您提供您正在寻找的内容:

$Host.UI.RawUI.WindowTitle = "Your Custom Header"

来自 jumbo 的建议使用 Write-Progress cmdlet 可能与您在纯 PowerShell 中的页脚一样好。

另一种选择是在 WinForms/WPF 应用程序中托管 PowerShell 运行时,这将为您提供适当的页眉/页脚 - 尽管这可能完全矫枉过正并且根本不符合您的需求。在一个过于简单和人为的例子中,你会在 C# 中做这样的事情:
// include the System.Management.Automation assembly & namespace
PowerShell ps = PowerShell.Create();
ps.AddCommand("Get-Process");
foreach (PSObject result in ps.Invoke()) {
Console.WriteLine(result.Members["ProcessName"].Value);
}

您可以将输出转储到 TextBox 或更合适的内容,而不是写入控制台。

最后一个选项是使用控制台设置 CursorPosition 的功能。属性(property)。这又是一种黑客行为,因为您将覆盖正在滚动的输出,但如果您的脚本输出有限 - 这可能有效:
$pos = $Host.UI.RawUI.CursorPosition
$newPos = New-Object System.Management.Automation.Host.Coordinates 0,20
$Host.UI.RawUI.CursorPosition = $newPos
"Here is my footer on starting at the first character of line 20"
$Host.UI.RawUI.CursorPosition = $pos

您可以动态检查 $Host.UI.RawUI.WindowSize.Height属性将页脚设置在窗口底部附近。请记住,默认情况下,如果有大量输出,文本将滚动 - 这将包括页脚的旧版本也向上滚动屏幕。

关于PowerShell:CLI 中的页眉、页脚和/或框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10417860/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com