【发布时间】:2020-02-11 20:18:19
【问题描述】:
我对 Bash 比对 Powershell 更熟悉,有时我对后者的对象模型感到困惑。
看documentation of Get-FileHash,好像有3种指定输入的方式:
- Get-FileHash [-Path]
- Get-FileHash [-LiteralPath]
- Get-FileHash [-InputStream]
前两个取文件名,第三个取数据流。
现在,Get-ChildItem -File 似乎输出了System.IO.FileInfo 对象,从Get-Member 所说的来看:
$ Get-ChildItem -File | Get-Member
TypeName: System.IO.FileInfo
但管道Get-ChildItem -File | Get-FileHash 工作正常。我的问题是,允许将System.IO.FileInfo 转换为Get-FileHash 期望的输入类型的机制是什么?
【问题讨论】:
-
也许Retrieving default property names 有答案...
-
@Filburt:链接的帖子是关于(显示)格式化,而这个问题是关于参数绑定。
-
另请参阅 Lee Holmes(MS PowerShell 开发团队)关于 Type Conversion Magic 的博文。
标签: powershell