我有一个命令行可执行文件,可以将彩色文本打印到标准输出。当我执行以下操作时...
my_executable.exe | Out-Host
...我发现 Out-Host 删除了所有彩色输出。当我想显示程序的彩色输出而不通过管道发送它时,这是一个问题。
有没有另一种方法可以让我显示控制台程序/批处理文件的彩色输出而不通过管道发送它?
编辑:
换句话说,我想要的是:
但是 Out-Host 会导致:
编辑2:
这就是为什么我不能只调用 my_executable.exe 的原因:
我在 .ps1 文件中有一个类似于以下内容的脚本
param($someValue)
# do some things
.\my_executable.exe | Out-Host
# do some more things
return 1
现在,当我执行以下操作时:
$result = .\my-script.ps1
$result 是 1。如果我不使用 Out-Host,$result 将是 my_executable.exe 的输出,最后是 1。Out-Host 允许我显示 my_executable.exe 的输出而不将其返回给调用者。我想要的是一种显示 my_executable.exe 的彩色输出而不将其返回给调用者的方法。