gpt4 book ai didi

powershell - 有没有一种固定的方法可以使用 Write-Host 在 Powershell 中记录当前行?

转载 作者:行者123 更新时间:2023-12-03 01:13:07 25 4
gpt4 key购买 nike

我想要像我记得的 C++ 宏那样的东西,我可以在其中输出当前行号。这是完全相同的代码,但预处理器会将宏替换为当前行。我想要在 PowerShell 中执行类似的操作,这样当 TFS 2015 告诉我第 6 行有错误,但第 6 行是注释时,我就可以知道这意味着什么。显然,我所看到的和 PowerShell “认为”的第 6 行有所不同。

最佳答案

首先,定义以下别名:

function Get-ScriptLineNumber { return $MyInvocation.ScriptLineNumber }
function Get-ScriptName { return $MyInvocation.ScriptName }

new-item alias:__LINE__ -value Get-ScriptLineNumber
new-item alias:__FILE__ -value Get-ScriptName

要测试它们,请将以下代码保存在脚本文件中(我们将其称为“test.ps1”)并从 powershell 提示符中调用它:

function Hello                                                              #1
{ #2
param ( #3
[parameter(Mandatory = $true)] [string] $receiver #4
) #5
#6
$i = 0 #7
#8
# Say Hello #9
# Another comment #10
# and yet another one #11
#12
Write-Host "Line:" $(__LINE__) "File:" $(__FILE__) "Hello $receiver" #13
} #14

Hello "World"

当您运行它时,您将得到以下结果:

Line: 13 File: D:\Temp\test.ps1 Hello World

关于powershell - 有没有一种固定的方法可以使用 Write-Host 在 Powershell 中记录当前行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35228885/

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