How to preserve colored output (stdout and stderr)

2019-06-15 23:42发布

问题:

We have build scripts for cmd. For example here is output of one of them.

When I run same commands in PS it outputs everything in red (probably because it's for err output).

Can I keep colors somehow?

回答1:

At first, I didn't think it was possible.

But, after a little searching I found this blog post, Colorized capture of console screen in HTML and RTF.

You should be able to use the PowerShell script from there to create what you need.



回答2:

I'm not positive this will work, but if you don't mind redirecting stderr to stdout, PowerShell won't try to color everything red. To do this, just add 2>&1 when you run your cmd script, e.g.

build.cmd 2>&1