Вы можете легко узнать свойства с помощью командлета Get-Member
. Например,
gci test.txt | gm
# Output
TypeName: System.IO.FileInfo
Name MemberType Definition
---- ---------- ----------
Mode CodeProperty System.String Mode{get=Mode;}
AppendText Method System.IO.StreamWriter AppendText()
CopyTo Method System.IO.FileInfo CopyTo(string destFileName)
...
Другой способ - использовать GetType(), чтобы получить, ну, только тип объекта.
(gci test.txt).GetType()
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True FileInfo System.IO.FileSystemInfo
Обратите внимание на TypeName. Это класс .Net, для которого Дэвид уже связал соответствующий MSDN documentation page.
Стоит отметить, что Get-Childitem
имеет несколько типы результатов. То есть вы получите только System.IO.FileSystemInfo
, когда gci
нацеливает файл. Когда он нацелен на каталог, вы получите массив из System.IO.DirectoryInfo
объектов.
Спасибо за ответ Дэйв. это сработало. перед использованием строки выбора, если просто попытаться напечатать последнее время, это будет работать Get-ChildItem d: * -filter $ fname * | Write-Host $ _. LastWriteTime – user3088768
Да, это потому, что fileinfo будет передаваться по конвейеру, используя строку выбора, в которой вы больше не имеете дело с файловым информационным объектом, чтобы снова получить объект fileinfo, мы используем get-item. –