设置 PowerShell 窗口标题
继续我上一篇文章:
我的使用场景是批量启动开发环境,而这涉及到很多 PowerShell 标签页,下图:
再多点标签,谁是谁根本分不清楚了,所以我需要为标签页命名。
正常来说,右键选项卡是可以重命名的,这不“脚本”,这也不“批量”,我肯定是想在脚本文件中直接设置的。
于是乎,我问了 ChatGPT,也去找了网站的教程,给我的都挺统一的,如下:
$Host.UI.RawUI.WindowTitle = "New Title"
直接在 PowerShell 中运行是没有任何问题的,下图:
但是放到 sh1 脚本中,就不对了,得到的是如下的错误提示:
System.Management.Automation.Internal.Host.InternalHost.UI.RawUI.WindowTitle: The term 'System.Management.Automation.Internal.Host.InternalHost.UI.RawUI.WindowTitle' is not recognized as a name of a cmdlet, function, script file, or executable program.
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
当 ChatGPT 和网上的文章都给不了你答案的时候,怎么办呢?当然是看官方文档:https://learn.microsoft.com/zh-cn/powershell/
我首先通过 RawUI 关键词搜索文档,找到了 Get-Host 命令,详细看完文档,我悟了,修改命令如下:
$web_cmd = @"
cd D:\WorkSpace\SO_Web;
(Get-Host).UI.RawUI.WindowTitle = 'SO_Web';
yarn dev
"@
$web_arg= @("-NoExit", "-Command", $web_cmd)
Start-Process pwsh.exe -ArgumentList $web_arg
顺利解决,下图:
以上。