我有一个脚本,可以打开多个 PowerShell 终端并在每个终端中运行一些命令。为了方便用户区分终端,我想设置每个终端的背景和前景色。到目前为止我已经得到了这个:
start powershell @'
$host.ui.RawUI.WindowTitle = \"application 1\"
$host.ui.RawUI.BackgroundColor = \"red\"
$host.ui.RawUI.ForegroundColor = \"black\"
cd application1\backend
npm install
npm run build
npm run start
'@
start powershell @'
$host.ui.RawUI.WindowTitle = \"application 2\"
$host.ui.RawUI.BackgroundColor = \"blue\"
$host.ui.RawUI.ForegroundColor = \"white\"
cd application2\backend
npm install
npm run build
npm run start
'@
start powershell @'
$host.ui.RawUI.WindowTitle = \"application 3\"
$host.ui.RawUI.BackgroundColor = \"yellow\"
$host.ui.RawUI.ForegroundColor = \"black\"
cd application3\backend
npm install
npm run build
npm run start
'@
这给了我以下内容:
当然,背景是红色(或粉红色)的,但它似乎是记录到控制台的任何文本的背景,而不是终端本身的背景。
我知道可以通过转到终端属性并选择屏幕背景和所需的颜色(文本颜色也类似)来为整个终端背景着色:
...但我想知道如何在脚本中执行此操作。我假设“属性”对话框中可以完成的任何操作都可以在脚本中完成。
请注意,设置用户的 PowerShell 配置文件设置没有任何好处,因为我不想永久更改用户的 PowerShell 颜色设置(只是为了从脚本打开的终端的生命周期),并且我尝试设置不同的每个终端的颜色。
我可以在上面的脚本中添加什么来完成我想要的事情?
谢谢!
Zett42 有正确的答案:我在脚本中添加了 Clear-Host,并清除了整个终端,将背景着色为我设置的颜色
$host.ui.rawui.backgroundcolor
。