【发布时间】:2021-04-20 10:56:07
【问题描述】:
我正在 Powershell(或 Powershell Core,两者都是此处的选项)中运行一个命令 (New-AzResourceGroupDeployment -WhatIf),它会产生一些非常丰富多彩的输出,如下所示:
问题是,当我在 Azure DevOps 管道中运行它时,那里的日志记录会被颜色混淆并产生大量乱码:
所以我的问题是:由于此命令本身没有这样的选项,因此 PowerShell(核心)中是否有通用方法来禁用命令产生彩色输出?
【问题讨论】:
-
没有简单的方法可以从 powershell 中删除 ANSI 颜色代码。您可以查看此主题 - Fix ANSI control characters before PowerShell output to a file,因为它可能会对您有所帮助。
-
即使不是标记的答案,也请使用提到的链接@Krzysztof 中的第二个答案。该模式正确匹配 ANSI 转义码(包括转义字符本身)。直接链接:stackoverflow.com/a/58297270/13699968
-
以上链接有用吗?
-
我发现它太复杂了,暂时放弃了
-
DevOps端已经记录了这个问题,可惜目前还没有完美的解决方案。您可以通过以下链接关注此问题:github.com/microsoft/azure-pipelines-agent/issues/1569.