27

我开始将 PowerShell 用于使用 node.js 的 Windows 项目。从 Powershell 命令行运行许多程序(包括节点、主管和 npm)时,我的 PowerShell 背景和前景色开始从默认的 Powershell 颜色发生变化。如何在 PowerShell 中保持一致的外观,以便轻松读取运行命令的结果?

4

4 回答 4

70

作为一次性操作,只需运行以下命令:

> [Console]::ResetColor()

来自文档:( 强调添加)

前景色和背景色恢复为当前进程开始时存在的颜色

于 2016-02-17T23:52:42.557 回答
17

我在使用 MSBuild 时遇到了这个问题,尤其是当我 ctrl+C 构建时。这是我放入 profile.ps1 文件中的内容:

$OrigBgColor = $host.ui.rawui.BackgroundColor
$OrigFgColor = $host.ui.rawui.ForegroundColor

# MSBUILD has a nasty habit of leaving the foreground color red
# if you Ctrl+C while it is outputting errors.
function Reset-Colors {
    $host.ui.rawui.BackgroundColor = $OrigBgColor
    $host.ui.rawui.ForegroundColor = $OrigFgColor
}

然后,当 MSBuild 搞砸它们时,我只调用 Reset-Colors。

于 2012-12-10T17:14:37.310 回答
13

如果您还没有配置文件,请首先在 PowerShell 中创建配置文件:

test-path $profile
new-item -path $profile -itemtype file -force
notepad $profile

其次,将此代码放入文件中:

function prompt {
  [Console]::ResetColor()
}

第三,检查 PowerShell 是否允许您运行脚本。

Get-ExecutionPolicy

如果显示为 Restricted,则运行以下 AS 管理员(请确保您了解安全隐患):

Set-ExecutionPolicy RemoteSigned

打开一个新的 PowerShell 提示符,您应该能够运行 node 或其他命令而不会出现任何颜色问题。

于 2012-12-10T17:10:59.977 回答
0

我通过运行以下命令来修复颜色问题:

cmd
color 07
exit

这些命令的作用是在 PowerShell 中运行 cmd,运行color 07以修复颜色,然后从 cmd 退出以恢复到 PowerShell。

于 2018-10-23T10:41:22.753 回答