我试图用powershell弄清楚powershell中的东西。
我有这样的事情:
Get-Project -All | %{ $_.Name }
注意:我知道%{}
= ForEach{}
Get-Project -All
是一个NuGet命令,它返回当前解决方案中的所有项目。
这对我有用,但我想找出所有可用的变量。我只知道$_.Name
就是其中之一,正如我在网上的例子中看到的那样。
当我运行Get-Project -All
时,我得到以下输出
ProjectName Type FullName
----------- ---- --------
ABC C# C:\SolutionDir\Category\ABC.csproj
现在我的管道内发现了以下变量:
$_.Name = ABC
$_.ProjectName = Category/ABC
$_.Type = C#
$_.FullName = C:\SolutionDir\Category\ABC.csproj
现在我不明白的是
Get-Project -All
的“表格”输出标题为ProjectName
,其值为ABC
。但在管道内$_.ProjectName = Category/ABC and
$ _。名称= ABC`。他们不相关吗?$_.Name
的示例,我将永远不知道这个变量。有没有办法获得所有可用的变量? 注意:
Get-Project -All | %{ Get-Variable }
不会返回任何上述变量。
答案 0 :(得分:2)
当您使用管道时,它是通过它发送的整个对象,在本例中为Get-Project
。要查看对象的所有成员,请使用Get-Member
。
因此,在您的情况下,您可以使用Get-Project -All | Get-Member
查看要返回的对象的所有属性和方法。