在每个命令上更改powershell标题

时间:2015-03-23 13:48:44

标签: powershell

我想在窗口标题中显示我在powershell中输入的最后一个命令,以便更容易找到

目前我有:

C:\> $host.ui.rawui.WindowTitle = $$

但这只是获取前一个命令,相对于我输入它时所以如果我有

C:\> cd
C:\> $host.ui.rawui.WindowTitle = $$

标题保持cd而不是随着我提供的每个命令而改变。 有没有办法我可以设置标题,以便它随着我输入的每个命令而改变,即

进入

 C:\> cd

会将其更改为cd然后

 C:\> python 

会将其更改为python

1 个答案:

答案 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)) "
}

注意:在此函数中使用$^$$没有帮助,它们尚未设置为最后一个命令数据。