设置 PowerShell 窗口标题
![设置 PowerShell 窗口标题](/content/images/size/w2000/2024/06/DALL-E-2024-06-10-00.25.32---A-computer-screen-displaying-multiple-PowerShell-tabs-open--each-tab-showing-distinct-command-lines-and-different-titles.-The-background-shows-a-progr.webp)
继续我上一篇文章:
简单说一下 PowerShell
最近做项目的时候,需要起不少环境,每次起的时候去复制粘贴命令肯定是不现实的。以前直接写的 bat 脚本,正好能在实践中学习,于是决定切换到 PowerShell。
![](https://wqmoran.com/content/images/2024/06/DALL-E-2024-06-10-00.10.13---A-detailed-illustration-of-a-person-working-on-a-laptop--with-PowerShell-and-CMD-logos-in-the-background.-The-person-is-sitting-at-a-desk-with-multipl.webp)
我的使用场景是批量启动开发环境,而这涉及到很多 PowerShell 标签页,下图:
![](https://wqmoran.com/content/images/2024/06/image-3.png)
再多点标签,谁是谁根本分不清楚了,所以我需要为标签页命名。
正常来说,右键选项卡是可以重命名的,这不“脚本”,这也不“批量”,我肯定是想在脚本文件中直接设置的。
于是乎,我问了 ChatGPT,也去找了网站的教程,给我的都挺统一的,如下:
$Host.UI.RawUI.WindowTitle = "New Title"
直接在 PowerShell 中运行是没有任何问题的,下图:
![](https://wqmoran.com/content/images/2024/06/image-4.png)
但是放到 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
顺利解决,下图:
![](https://wqmoran.com/content/images/2024/06/image-5.png)
以上。