gpt4 book ai didi

powershell - 如何防止 PowerShell 7 Write-Error 按字面写回文本 "Write-Error"?

转载 作者:行者123 更新时间:2023-12-02 02:53:04 25 4
gpt4 key购买 nike

我在 PowerShell 7 中运行以下脚本:

Write-Error "Demo error message" 

它写道(希望写到 stderr):

Write-Error: Demo error message

问题

如何防止前导“Write-Error:”文字?我只想得到

Demo error message

最佳答案

运行 Write-Error 后看一下:

(Get-Error).ErrorRecord.CategoryInfo

Category : NotSpecified
Activity : Write-Error
Reason : WriteErrorException

控制台中显示的消息似乎是由 CategoryInfo.ActivityException.Message 加上“:”字符串构成的。

你可以修改 Write-Error 在生成 ErrorRecord 时放在 CategoryInfo.Activity 中的内容:

Write-Error "Demo error message" -CategoryActivity 'xxx'
xxx: Demo error message

如果你输入 $null 或空字符串,它会恢复为“Write-Error”文本,当你使用空格时,该行以“:”开头,所以这并不令人满意:

Write-Error "Demo error message" -CategoryActivity " "
: Demo error message

但是如果我们在消息中放两个退格键呢?它摆脱了这 3 个字符。

Write-Error "`b`b`bDemo error message" -CategoryActivity " "
Demo error message

即使这样也行,但老实说我不知道​​为什么:

Write-Error "Demo error message" -CategoryActivity "`b`b"
Demo error message

您还可以使用足够的退格键来删除整个“Write-Error:”字符串:

Write-Error ("`b"*13 + 'Demo error message')
Demo error message

当您发现错误并在某处对消息进行处理时,这些退格键将被保留:

try {Write-Error ("`b`b`bDemo error message") -ErrorAction Stop} catch {'The error is: ' + $_.Exception.Message}
The error iDemo error message

按要求工作,绝对不推荐 ;)。

关于powershell - 如何防止 PowerShell 7 Write-Error 按字面写回文本 "Write-Error"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61613269/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com