是否有一种固定的方法可以使用写主机在Powershell中记录当前行? 我想从C++宏中记住一些东西,我可以输出当前行数。这是完全相同的代码,但预处理器将用当前行替换宏。我希望PowerShell中有类似的内容,这样我就可以知道当TFS 2015告诉我第6行有错误时是什么意思,但第6行是一条注释。显然,我看到的和PowerShell“认为”的是第6行的不同之处。
首先,定义以下别名:是否有一种固定的方法可以使用写主机在Powershell中记录当前行? 我想从C++宏中记住一些东西,我可以输出当前行数。这是完全相同的代码,但预处理器将用当前行替换宏。我希望PowerShell中有类似的内容,这样我就可以知道当TFS 2015告诉我第6行有错误时是什么意思,但第6行是一条注释。显然,我看到的和PowerShell“认为”的是第6行的不同之处。,powershell,Powershell,首先,定义以下别名: 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 要测试它们,
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错误包括发生错误的代码行的文本。这正是我要查找的+1对于C++宏命名,不是我实际上是一个粉丝。