PowerShell成员:方法和属性的说明?

PowerShell成员:方法和属性的说明?,powershell,methods,properties,Powershell,Methods,Properties,说到PowerShell,我是一个新手,我来自很久以前的BASH背景。PowerShell在web上的内置文档和帮助相当不错,但我一直在结结巴巴地理解方法和属性(这些称为成员/类吗?)。我知道,通过这样做,我可以看到可以使用哪些方法和属性,例如: ls | get-member .Exists、.Trim、.SubString或.Split等实际上是如何工作的?当您执行获取成员时,您将看到类型名,类似于: TypeName: System.IO.DirectoryInfo Get-Child

说到PowerShell,我是一个新手,我来自很久以前的BASH背景。PowerShell在web上的内置文档和帮助相当不错,但我一直在结结巴巴地理解方法和属性(这些称为成员/类吗?)。我知道,通过这样做,我可以看到可以使用哪些方法和属性,例如:

ls | get-member

.Exists
.Trim
.SubString
.Split
等实际上是如何工作的?

当您执行
获取成员时,您将看到类型名,类似于:

TypeName: System.IO.DirectoryInfo
Get-ChildItem C:\Windows | Get-Member | .\Find-TypeReference.ps1
您可以搜索该类型并查看其成员

这些是.NET framework对象及其成员和属性,所以您可以使用msdn上的大量文档


例如,这是DirectoryInfo的文档:

我刚刚在脚本库中发布了一个脚本,它可能会帮助您完成这项工作

这会减少您的努力,因此现在您可以执行以下操作:

TypeName: System.IO.DirectoryInfo
Get-ChildItem C:\Windows | Get-Member | .\Find-TypeReference.ps1

这将导致脚本以FileInfo和DirectoryInfo类型作为查询为您打开MSDN搜索页面。

同意,获取成员+您喜爱的搜索引擎是最佳解决方案。由于我们处理的是.NET对象,因此有大量的官方MSDN/TechNet文档以及在PowerShell或C#中进行类似工作的大量人员样本。感谢您的帮助,但这并不一定说明在PowerShell中应该如何使用它。语法是什么?每次使用方法时语法是否相同,是否有选项,例如:
.Method(Get | Set)
?Get或Set是如何使用的?这些是唯一的选项吗;设置将成为一个属性,而不是一个方法。为此,您只需使用虚线表示法:GetChildItem | foreach对象{$\.length}。。。对于实际的方法,语法看起来更像是C#之类的编程语言,而不是PowerShell的cmdlet:(get date)。toString(“MM dd yyyy”)我想我很困惑的部分是,你怎么知道
(“MM dd yyyy”)
是要使用的参数?如果我理解正确,在方法中使用
就像将字符串输送到特定的方法,而
()
之间的所有内容都是选项/参数的位置?您可能想阅读这篇文章,它解释了点运算符,这篇文章解释了方法,这两个都是C主题,但它将帮助您了解它们在PowerShell中的使用。刚刚下载了您的脚本,谢谢。如上所述,MSDN站点没有给出如何在PowerShell中使用它的示例(但是它提供了其他语言的示例)。其他PowerShell用户是如何学习这些方法/属性的?您确实需要对学习.Net Framework进行研究,以了解如何利用这些不同的方法/属性。就学习PowerShell中命令的语法而言,有几个地方值得一看。*get help new object-full*get help about_object*get help about_Methods*get help about_properties同样,对于方法,如果您有一个字符串,例如{$a=“Testing”},并且您将其管道化为get Member,您将看到方法和属性的定义。在处理方法时,可以添加不带括号的方法名,PowerShell将为您提供如何调用该方法的实际重载定义。这样做可以查看子字符串方法的不同定义:{$a.substring}哇,好的。。。这有点近了。有了这些信息,再加上网络上的一些挖掘,我相信我能找到答案。我只希望有一个中心资源来做这件事。