我想在窗口标题中显示我在powershell中输入的最后一个命令,以便更容易找到
目前我有:
C:\> $host.ui.rawui.WindowTitle = $$
但这只是获取前一个命令,相对于我输入它时所以如果我有
C:\> cd
C:\> $host.ui.rawui.WindowTitle = $$
标题保持cd
而不是随着我提供的每个命令而改变。
有没有办法我可以设置标题,以便它随着我输入的每个命令而改变,即
进入
C:\> cd
会将其更改为cd
然后
C:\> python
会将其更改为python
?
答案 0 :(得分:5)
您可以使用个人资料中定义的自定义功能prompt
。
例如:
function prompt {
# get the last command from history
$command = Get-History -Count 1
# set it to the window title
if ($command) {
$host.ui.rawui.WindowTitle = $command
}
# specify your custom prompt, e.g. the default PowerShell:
"PS $($executionContext.SessionState.Path.CurrentLocation)$('>' * ($nestedPromptLevel + 1)) "
}
注意:在此函数中使用$^
和$$
没有帮助,它们尚未设置为最后一个命令数据。