Я искал далеко и широко для явной информации об этом, но я не нашел ни одного вообще. Допустим, у меня есть файл или каталог, хранящийся в переменной $Item . Как использовать Windows PowerShell (я использую 3.0), как получить все метаданные, связанные с $Item которые не хранятся в его содержимом? Например, я хочу получить его разрешения, его SID, время создания, время модификации, время последнего обращения к нему, его атрибуты и многое другое, что отображается в диалоговом окне «Свойства» в Windows Проводник. Мне нужно сделать это, чтобы я мог записать свойства каждого элемента в метаданных SVN.

2 ответа2

0

Предполагая, что:

$item = Get-Item c:\windows\notepad.exe

Время последнего доступа:

$item.LastAccessTime.ToString()

Время последней модификации:

$item.LastWriteTime.ToString()

Время создания:

$item.CreationTime.ToString()

Атрибуты:

$item.Attributes

Информация о версии:

$item.VersionInfo

Разрешения безопасности не сохраняются в файле, поэтому вы должны использовать командлет Get-Acl :

(Get-Acl $item).Access
0

Вы можете получить большинство этих элементов из Системы.Класс IO.DirectoryInfo

PS C:\Windows\system32> $([System.IO.DirectoryInfo]"c:\").creationtime
PS C:\Windows\system32> $([System.IO.DirectoryInfo]"c:\").Attributes

...

Вот свойства, доступные из объекта:http://msdn.microsoft.com/en-us/library/system.io.directoryinfo.aspx

теперь я не уверен, что вы подразумеваете под рекурсивом, поскольку вы сказали, что не хотите, чтобы содержимое каталога, но вы можете получить список подпунктов, используя.GetFiles или.GetDirectories. тогда вы можете повторять или перебирать их по своему усмотрению.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .