我比较熟悉Bash,有时候会被Powershell的对象模型搞混。
查看Get-FileHash的文档,似乎有三种指定输入的方式:
- 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
预期的输入类型?