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

[玩转系统] 周五的乐趣与及时的 PowerShell 提示

作者:精品下载站 日期:2024-12-14 07:53:31 浏览:16 分类:玩电脑

周五的乐趣与及时的 PowerShell 提示


如果 PowerShell 是您日常生活的一部分,那么您很可能整天都打开控制台窗口。除了使用 PowerShell 完成工作之外,您还可以使用 PowerShell 让您保持在正轨上。我之前写过一篇文章,讨论了我如何使用 PowerShell 来管理我的一天。你可能不需要像我那样竭尽全力。但您可能会发现值得花时间进行一些小的调整,一次按 Enter 键为您的 PowerShell 控制台带来一点额外的价值。

我当然是在谈论提示功能。您可能不知道,每次按 Enter 时,PowerShell 都会调用一个名为“prompt”的函数,该函数默认显示 PS 前缀和当前位置。 PowerShell 自动为您定义一个。

PS C:\> Get-Command prompt

CommandType     Name                                               Version    Source                                 
-----------     ----                                               -------    ------                                 
Function        prompt

今天我将向您展示提示功能的一些不同变体,这些变体将显示日期和时间信息。就我个人而言,由于我经常查看 PowerShell 控制台,因此能够检查时间会很有帮助。您可以在 PowerShell 控制台中尝试这些功能,或者根据需要使用 PowerShell ISE 和 VS Code。除非您将提示功能添加到 PowerShell 配置文件脚本中,否则下次启动 PowerShell 时您将收到默认提示。

这是一个显示当前日期和时间的简单示例。

function prompt {
"[$(Get-Date)] PS $($executionContext.SessionState.Path.CurrentLocation)$('>' * ($nestedPromptLevel + 1)) ";
}

要尝试此操作,只需复制该函数并将其粘贴到您的 PowerShell 会话中即可。按 Enter 键,您应该会看到新的提示。

[玩转系统] 周五的乐趣与及时的 PowerShell 提示

我喜欢将它放在括号中以将其分开,但你可以做任何你想做的事。

function prompt {
"<*$(Get-Date)*> PS $($executionContext.SessionState.Path.CurrentLocation)$('>' * ($nestedPromptLevel + 1)) ";
}

或者也许你只是想要时间。

function prompt {
"[$((Get-Date).toShortTimeString())] PS $($executionContext.SessionState.Path.CurrentLocation)$('>' * ($nestedPromptLevel + 1)) ";
}

[玩转系统] 周五的乐趣与及时的 PowerShell 提示

您可能更喜欢更多时间细节,在这种情况下请使用 ToLongTimeString() 方法。或者采取更多控制措施并按照您想要的方式设置时间格式。

function prompt {
"[$(Get-Date -format 'hh:mm:ss tt')] PS $($executionContext.SessionState.Path.CurrentLocation)$('>' * ($nestedPromptLevel + 1)) ";
}

[玩转系统] 周五的乐趣与及时的 PowerShell 提示

格式字符串区分大小写。如果您喜欢 24 小时格式,则可以使用此提示。

function prompt {
"[$(Get-Date -format 'HH:mm:ss')] PS $($executionContext.SessionState.Path.CurrentLocation)$('>' * ($nestedPromptLevel + 1)) ";
}

[玩转系统] 周五的乐趣与及时的 PowerShell 提示

就个人而言,这种详细程度已经足够了。但如果您需要更多的粒度,则可以以毫秒为单位添加。

function prompt {
"[$(Get-Date -format 'HH:mm:ss:ffff')] PS $($executionContext.SessionState.Path.CurrentLocation)$('>' * ($nestedPromptLevel + 1)) ";
}

[玩转系统] 周五的乐趣与及时的 PowerShell 提示

我要显示 4 个位置,但您最多可以显示 6 个位置。

我想我应该向那些使用大型显示器运行超大版本 PowerShell 控制台的人展示您可以显示默认的 Get-Date 输出。

function prompt {
"[$((Get-Date | Out-String).trim())] PS $($executionContext.SessionState.Path.CurrentLocation)$('>' * ($nestedPromptLevel + 1)) ";
}

[玩转系统] 周五的乐趣与及时的 PowerShell 提示

在我让你走之前,这里还有一个例子,可以让你体验一下你可以做什么。

function prompt {
write-host "[$(Get-Date -f 'hh:mm:ss tt')]" -ForegroundColor Yellow -NoNewline
" PS $($executionContext.SessionState.Path.CurrentLocation)$('>' * ($nestedPromptLevel + 1)) "
}

[玩转系统] 周五的乐趣与及时的 PowerShell 提示

我希望您有足够的好奇心尝试其中的一些变化。您可以在 https://go.microsoft.com/fwlink/?LinkID=225750 中了解有关提示功能以及如何自定义提示的更多信息。周末愉快。

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

取消回复欢迎 发表评论:

关灯