我开始将PowerShell用于使用node.js的Windows项目。从Powershell命令行运行许多程序(包括node,supervisor和npm)时,我的PowerShell背景和前景颜色开始从默认的Powershell颜色更改。如何在PowerShell中保持一致的外观,以便我可以轻松读取运行命令的结果?
答案 0 :(得分:62)
答案 1 :(得分:16)
我在使用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。
答案 2 :(得分:13)
首先在PowerShell中创建一个配置文件,如果您还没有配置文件:
test-path $profile
new-item -path $profile -itemtype file -force
notepad $profile
其次,将此代码放在文件中:
function prompt {
[Console]::ResetColor()
}
第三,检查PowerShell是否允许您运行脚本。
Get-ExecutionPolicy
如果这表示受限制,则运行以下AS管理员(请确保您了解安全隐患):
Set-ExecutionPolicy RemoteSigned
打开一个新的PowerShell提示符,您应该能够运行节点或其他命令,而不会出现任何颜色问题。
答案 3 :(得分:0)
我通过运行以下命令解决了颜色问题:
cmd
color 07
exit
这些命令的作用是在PowerShell中运行cmd,运行color 07
修复颜色,然后从cmd退出以恢复到PowerShell。